原因:
使用git clone項(xiàng)目后,項(xiàng)目根路徑是小寫英文名稱,比如cmdbapi,但是項(xiàng)目里面的import導(dǎo)入自己的相關(guān)包時(shí),紅色報(bào)錯(cuò)
解決:
把項(xiàng)目名稱改寫成import導(dǎo)入包的名稱,即cmdbApi。當(dāng)然也可以將import導(dǎo)入包改寫成小寫。
補(bǔ)充:golang之import導(dǎo)入包的一些特殊用法
我們學(xué)習(xí)了golang之后,曉得關(guān)鍵字import是go的包導(dǎo)入語法,而且我們的第一個(gè)程序通常都需要輸出hello world。
示例如下:
import(
"fmt"
)
fmt.Println("hello world")
我們看到golang需要輸出內(nèi)容,需要引入包fmt;相對(duì)于php就比較麻煩了。上面這種引入方式是比較常見的方式,但是我們通常會(huì)遇到引入包之前有‘.',‘別名','-',對(duì)于新手同學(xué)來說很疑惑,這些是干嘛用的那?
點(diǎn)
例子:
含義:這個(gè)點(diǎn)操作的含義就是這個(gè)包導(dǎo)入之后在你調(diào)用這個(gè)包的函數(shù)時(shí),你可以省略前綴的包名,也就是前面你調(diào)用的fmt.Println(“hello world”) 可以省略的寫成Println(“hello world”)
別名
例子:
含義: 別名操作調(diào)用包函數(shù)時(shí)前綴變成了重命名的前綴,即f.Println(“hello world”)
例子:
import ( _ “github.com/go-sql-driver/mysql”)
含義:
操作其實(shí)只是引入該包。當(dāng)導(dǎo)入一個(gè)包時(shí),它所有的init()函數(shù)就會(huì)被執(zhí)行,但有些時(shí)候并非真的需要使用這些包,僅僅是希望它的init()函數(shù)被執(zhí) 行而已。
這個(gè)時(shí)候就可以使用_操作引用該包了。即使用_操作引用包是無法通過包名來調(diào)用包中的導(dǎo)出函數(shù),而是只是為了簡(jiǎn)單的調(diào)用其init函數(shù)()
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- Golang中Bit數(shù)組的實(shí)現(xiàn)方式
- Golang 如何實(shí)現(xiàn)函數(shù)的任意類型傳參
- 解決Golang time.Parse和time.Format的時(shí)區(qū)問題
- Golang 使用Map實(shí)現(xiàn)去重與set的功能操作
- 使用Golang的channel交叉打印兩個(gè)數(shù)組的操作
- golang goroutine順序輸出方式
- golang 在windows中設(shè)置環(huán)境變量的操作
- golang 通用Contains方法分享