欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1 簡(jiǎn)介

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

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

Go 通過(guò)環(huán)境變量來(lái)做項(xiàng)目上的管理和控制,通過(guò)命令 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 、 pkg 、 src

GO111MODULE :?jiǎn)⒂?go module 管理項(xiàng)目,需要有 go.modgo.sum 文件;

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

常用的代理有:

# 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 寫代碼會(huì)更高效率,直接使用 GoLand 打開項(xiàng)目即可。一些關(guān)鍵配置如下:

GOROOT:

GOPATH:

Go Module:

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

6 總結(jié)

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

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

相關(guān)文章

  • golang構(gòu)建工具M(jìn)akefile使用詳解

    golang構(gòu)建工具M(jìn)akefile使用詳解

    這篇文章主要為大家介紹了golang構(gòu)建工具M(jìn)akefile的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Golang map如何生成有序的json數(shù)據(jù)詳解

    Golang map如何生成有序的json數(shù)據(jù)詳解

    最近在學(xué)習(xí)Golang,發(fā)現(xiàn)了一個(gè)問(wèn)題,覺(jué)著有必要給大家總結(jié)下,下面這篇文章主要給大家介紹了關(guān)于Golang map如何生成有序json數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面來(lái)一起看看吧。
    2017-07-07
  • 一文掌握go的sync.RWMutex鎖

    一文掌握go的sync.RWMutex鎖

    這篇文章主要介紹了一文掌握go的sync.RWMutex鎖,本文是為了在面試中能快速口述RW鎖,并非為了完整解答RW鎖的機(jī)制,需要的朋友可以參考下
    2023-03-03
  • Go語(yǔ)言map不支持并發(fā)寫操作的原因

    Go語(yǔ)言map不支持并發(fā)寫操作的原因

    Go語(yǔ)言為什么不支持并發(fā)讀寫map?,Go官方的說(shuō)法是在多數(shù)情況下map只存在并發(fā)讀操作,如果原生支持并發(fā)讀寫,即降低了并發(fā)讀操作的性能,在使用?map?時(shí),要特別注意是否存在對(duì)?map?的并發(fā)寫操作,如果存在,要結(jié)合?sync?包的互斥鎖一起使用,
    2024-01-01
  • axios?gin的GET和POST請(qǐng)求實(shí)現(xiàn)示例

    axios?gin的GET和POST請(qǐng)求實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了axios?gin的GET和POST請(qǐng)求實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • Go錯(cuò)誤和異常CGO?fallthrough處理教程詳解

    Go錯(cuò)誤和異常CGO?fallthrough處理教程詳解

    這篇文章主要為大家介紹了Go錯(cuò)誤和異常CGO?fallthrough使用教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Go語(yǔ)言的互斥鎖的詳細(xì)使用

    Go語(yǔ)言的互斥鎖的詳細(xì)使用

    本文主要介紹了Go語(yǔ)言的互斥鎖的詳細(xì)使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • go語(yǔ)言-在mac下brew升級(jí)golang

    go語(yǔ)言-在mac下brew升級(jí)golang

    這篇文章主要介紹了go語(yǔ)言-在mac下brew升級(jí)golang,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • Go處理json數(shù)據(jù)方法詳解(Marshal,UnMarshal)

    Go處理json數(shù)據(jù)方法詳解(Marshal,UnMarshal)

    這篇文章主要介紹了Go處理json數(shù)據(jù)的方法詳解,Marshal(),UnMarshal(),需要的朋友可以參考下
    2022-04-04
  • Go語(yǔ)言通過(guò)Luhn算法驗(yàn)證信用卡卡號(hào)是否有效的方法

    Go語(yǔ)言通過(guò)Luhn算法驗(yàn)證信用卡卡號(hào)是否有效的方法

    這篇文章主要介紹了Go語(yǔ)言通過(guò)Luhn算法驗(yàn)證信用卡卡號(hào)是否有效的方法,實(shí)例分析了Luhn算法的原理與驗(yàn)證卡號(hào)的使用技巧,需要的朋友可以參考下
    2015-03-03

最新評(píng)論