Go初學(xué)者踩坑之go?mod?init與自定義包的使用
前言
入門(mén)很容易的 hello world, 到使用自定義包算一個(gè)小的進(jìn)步,然而在使用上竟然浪費(fèi)了不少時(shí)間,上網(wǎng)查了半天,才解決問(wèn)題.
第一明確 是哪種方式,是go mod 方式 還是 go path 方式, 請(qǐng)自己查一下,本小文直說(shuō)go mog 方式的小問(wèn)題.
首先看一下 文檔結(jié)構(gòu)

我自己寫(xiě)了個(gè) ToolKit.go, 內(nèi)容大致如下:
問(wèn)題是:怎么引用它
//for all kind of tools
package Toolkit
import (
"net/http"
"strings"
)
func Left(str string, cnt int) string {
l := strings.Count(str, "")
if cnt >= l {
cnt = l - 1
} else if l < 0 {
l = 0
}
return str[0:cnt]
}
...
引用方式各種出錯(cuò),舉例如下:
package main import ( "testing" "ToolKit" )
或者:
package main import ( "testing" "./ToolKit" )
或者
package main import ( "testing" "/usr/local/src/go/iot_watcher/ToolKit" )
我能想到的方法都用到了,還是不行.
下面直接給出解決方案吧
查看 go.mod,內(nèi)容如下
module iot_watcher.com go 1.17
OK, 把 module 后面那個(gè)東西考下來(lái), 寫(xiě)成這樣
ackage main import ( "testing" "iot_watcher.com/ToolKit" )
就沒(méi)問(wèn)題了.
為了方便,寫(xiě)成別名引用方式
package main import ( "testing" ToolKit "iot_watcher.com/ToolKit" )
補(bǔ)充: 終于明白 go mod init anyName.com
這個(gè)anyName.com 東西的用途了(一點(diǎn)兒用途)
說(shuō)實(shí)話, 我最討厭這種幾乎一點(diǎn)兒含金量都沒(méi)有的系統(tǒng)配置了. 從微軟的MFC 到go , 真是無(wú)奈.浪費(fèi)大量時(shí)間.
補(bǔ)充:go mod init出錯(cuò)
go mod init出錯(cuò),錯(cuò)誤提示如下:
go: cannot determine module path for source directory D:\workspace\go (outside GOPATH, no import comments)
解決辦法:添加模塊名參數(shù)
go mod init module_name
例如,在test目錄下,即test模塊,就用
go mod init test
總結(jié)
到此這篇關(guān)于Go初學(xué)者踩坑之go mod init與自定義包使用的文章就介紹到這了,更多相關(guān)go mod init與自定義包使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決電腦用GoLand太卡將VsCode定制成Go IDE步驟過(guò)程
這篇文章主要為大家介紹了解決電腦用GoLand太卡,將VsCode定制成Go IDE步驟過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
golang結(jié)合mysql設(shè)置最大連接數(shù)和最大空閑連接數(shù)
本文介紹golang?中連接MySQL時(shí),如何設(shè)置最大連接數(shù)和最大空閑連接數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
解決panic: assignment to entry in nil
這篇文章主要介紹了解決panic: assignment to entry in nil map問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2008-01-01
go?time.After優(yōu)化后性能提升34%內(nèi)存減少67%
這篇文章主要介紹了go語(yǔ)言time.After優(yōu)化后性能提升34%內(nèi)存減少67%實(shí)例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
GO語(yǔ)言獲取系統(tǒng)環(huán)境變量的方法
這篇文章主要介紹了GO語(yǔ)言獲取系統(tǒng)環(huán)境變量的方法,實(shí)例分析了Getenv方法操作環(huán)境變量的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02

