最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Go module和GoLand初始化一個(gè)Go項(xiàng)目的方法

 更新時(shí)間:2020年12月24日 10:49:20   作者:南瓜慢說  
這篇文章主要介紹了使用Go module和GoLand初始化一個(gè)Go項(xiàng)目,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1 簡介

Golang 是一門優(yōu)秀的語言,特別是在并發(fā)編程上,得益于它的協(xié)程和 channel 等,非常方便易用。它通過 go module 來管理包和依賴,本文介紹如何利用它創(chuàng)建一個(gè)項(xiàng)目。

2 重要的環(huán)境變量

Go 通過環(huán)境變量來做項(xiàng)目上的管理和控制,通過命令 go env 可以查看相關(guān)變量:

$ go env
GO111MODULE="on"
GOARCH="amd64"
GOHOSTOS="darwin"
GOMODCACHE="/Users/larry/go/pkg/mod"
GOPATH="/Users/larry/go"
GOPROXY="https://mirrors.aliyun.com/goproxy/"
GOROOT="/Users/larry/Software/go"
GOTOOLDIR="/Users/larry/Software/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"

關(guān)鍵環(huán)境變量:

GOROOTGo 的安裝目錄,即可執(zhí)行文件所在的目錄;

GOPATH :工作目錄并不是項(xiàng)目所有目錄,編譯后的二進(jìn)制文件存放地, import 包的搜索路徑,主要包含 bin 、 pkgsrc ;

GO111MODULE :啟用 go module 管理項(xiàng)目,需要有 go.modgo.sum 文件;

GOPROXY :下載依賴時(shí)的代理,必須配置,不然無法成功下載;

常用的代理有:

# 1. 七牛 CDN
export GOPROXY=https://goproxy.cn,direct

# 2. 阿里云
export GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

# 3. 官方
export GOPROXY=https://goproxy.io,direct

個(gè)人用阿里云比較多。

3 初始化項(xiàng)目

用命令執(zhí)行如下:

# 創(chuàng)建project的目錄
$ mkdir pkslow_test
# 進(jìn)入目錄
$ cd pkslow_test/
# 初始化
$ go mod init pkslow.com/pkslow_test
go: creating new go.mod: module pkslow.com/pkslow_test

$ l
-rw-r--r-- 1 larry staff 39 Dec 13 21:07 go.mod
#查看文件內(nèi)容
$ cat go.mod 
module pkslow.com/pkslow_test

go 1.15

新建文件 main.go ,開始寫代碼:

package main
import "fmt"
func main() {
 fmt.Println("hello pkslow")
}

執(zhí)行或編譯后執(zhí)行:

# 直接run
$ go run main.go 
hello pkslow

# 編譯成二進(jìn)制文件
$ go build
t$ l
-rw-r--r-- 1 larry staff 39 Dec 13 21:07 go.mod
-rw-r--r-- 1 larry staff 74 Dec 13 21:12 main.go
-rwxr-xr-x 1 larry staff 2146904 Dec 13 21:12 pkslow_test
# 執(zhí)行二進(jìn)制文件
$ ./pkslow_test 
hello pkslow

4 引入本地包

創(chuàng)建目錄與文件結(jié)構(gòu)如下:

$ tree
├── go.mod
├── main.go
└── mylog
 └── pkslow_log.go

新建 pkslow_log.go 的內(nèi)容如下:

package mylog
import "fmt"

func PkslowLog(str string) {
 fmt.Println(str)
}

修改后的 main.go 的內(nèi)容如下:

package main
import (
	"fmt"
	"pkslow.com/pkslow_test/mylog"
)

func main() {
 fmt.Println("hello pkslow")
 mylog.PkslowLog("www.pkslow.com")
}

執(zhí)行如下:

$ go run main.go 
hello pkslow
www.pkslow.com

5 GoLand打開項(xiàng)目

以上已經(jīng)基本完成了項(xiàng)目的創(chuàng)建,但使用 IDE 寫代碼會更高效率,直接使用 GoLand 打開項(xiàng)目即可。一些關(guān)鍵配置如下:

GOROOT:

GOPATH:

Go Module:

最終項(xiàng)目整體結(jié)構(gòu)如下:

6 總結(jié)

Go 語言還是挺有意思的,值得一試。

到此這篇關(guān)于使用Go module和GoLand初始化一個(gè)Go項(xiàng)目的文章就介紹到這了,更多相關(guān)Go module和GoLand初始化Go項(xiàng)目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入理解Go中的項(xiàng)目代碼布局

    深入理解Go中的項(xiàng)目代碼布局

    Go?語言的創(chuàng)世項(xiàng)目其實(shí)就是?Go?語言項(xiàng)目自身,是全世界第一個(gè)?Go?語言項(xiàng)目,本文主要來和大家詳細(xì)介紹一下Go中的項(xiàng)目代碼布局,需要的可以了解下
    2023-11-11
  • Golang 1.18新特性模糊測試用法詳解

    Golang 1.18新特性模糊測試用法詳解

    模糊測試是一種軟件測試技術(shù)。其核心思想是將自動或半自動生成的隨機(jī)數(shù)據(jù)輸入到一個(gè)程序中,并監(jiān)視程序異常,如崩潰,斷言失敗,以發(fā)現(xiàn)可能的程序錯(cuò)誤,比如內(nèi)存泄漏,本文給大家介紹了Golang 1.18 新特性模糊測試,感興趣的同學(xué)可以參考閱讀下
    2023-05-05
  • Go學(xué)習(xí)筆記之Zap日志的使用

    Go學(xué)習(xí)筆記之Zap日志的使用

    這篇文章主要為大家詳細(xì)介紹了Go語言中Zap日志的使用以及安裝,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Go語言有一定的幫助,需要的可以參考一下
    2022-07-07
  • Go語言建議多使用切片少使用數(shù)組原理探究

    Go語言建議多使用切片少使用數(shù)組原理探究

    這篇文章主要為大家介紹了Go語言建議多使用切片少使用數(shù)組原理探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 使用Golang實(shí)現(xiàn)流式輸出

    使用Golang實(shí)現(xiàn)流式輸出

    這篇文章主要為大家詳細(xì)介紹了使用Golang實(shí)現(xiàn)流式輸出的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-03-03
  • Golang語言的跨平臺UI工具包fyne使用詳解

    Golang語言的跨平臺UI工具包fyne使用詳解

    這篇文章主要為大家介紹了Golang語言的跨平臺UI工具包fyne使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • golang?gorm更新日志執(zhí)行SQL示例詳解

    golang?gorm更新日志執(zhí)行SQL示例詳解

    這篇文章主要為大家介紹了golang?gorm更新日志執(zhí)行SQL示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • Go中Vendo機(jī)制的使用

    Go中Vendo機(jī)制的使用

    自Go1.6起,Go語言正式啟用vendor機(jī)制,允許將項(xiàng)目依賴放入項(xiàng)目內(nèi)的vendor目錄,類似私有GOPATH,本文就來介紹一下Vendo機(jī)制的使用,感興趣的可以了解一下
    2024-10-10
  • 使用Go語言提高圖片分辨率的方法與實(shí)踐

    使用Go語言提高圖片分辨率的方法與實(shí)踐

    在圖像處理和計(jì)算機(jī)視覺領(lǐng)域,提高圖片分辨率是一個(gè)常見的問題,隨著高分辨率顯示設(shè)備的普及,如4K、8K電視以及高像素手機(jī)攝像頭的應(yīng)用,用戶對高質(zhì)量圖片的需求也越來越高,本文將介紹使用Golang語言提高圖片分辨率的方法與實(shí)踐,需要的朋友可以參考下
    2023-12-12
  • golang連接kafka的示例代碼

    golang連接kafka的示例代碼

    本文主要介紹了golang連接kafka的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評論

定西市| 阜城县| 海宁市| 平武县| 衡水市| 北流市| 临西县| 丽水市| 灵山县| 高陵县| 兴隆县| 遂川县| 米林县| 呼伦贝尔市| 皮山县| 宁河县| 卢湾区| 宁波市| 崇阳县| 吉首市| 紫金县| 长垣县| 英德市| 上饶市| 汕尾市| 五华县| 黑河市| 安新县| 称多县| 海南省| 全州县| 霞浦县| 河间市| 马龙县| 定远县| 漾濞| 若尔盖县| 镇远县| 白城市| 伽师县| 高青县|