<<GO語言核心36講筆記-Part1>>

第一章重點(diǎn):

該系列主要對郝林老師的課程做個人總結(jié)O熬睢!蝙昙!文章在個人git下面闪萄,README里面寫了郝林老師的課程地址和訂閱方式
https://github.com/wenxuwan/go36

1.GO 語言安裝的時候主要有三個環(huán)境變量:

GOROOT、GOPATH 和 GOBIN

通過 go env 可以查看go語言的一系列的環(huán)境變量的配置.

go env

GOROOT:代表go的安裝路徑奇颠,一般你安裝完go語言之后就有了败去。

GOPATH:一個目錄路徑,也可以包含多個目錄路徑烈拒,每個目錄都代表了go語言的一個“工作區(qū)”圆裕。目錄下面有三個目錄广鳍,src,bin,pkg。

src : 用來存放源代碼文件吓妆。

bin: 目錄里面存放的都是通過 go install 命令安裝后赊时,由 Go 命令源碼文件生成的可執(zhí)行文件。
有兩種情況下行拢,bin 目錄會變得沒有意義祖秒。
當(dāng)設(shè)置了有效的 GOBIN 環(huán)境變量以后,bin 目錄就變得沒有意義舟奠。
如果 GOPATH 里面包含多個工作區(qū)路徑的時候竭缝,必須設(shè)置 GOBIN 環(huán)境變量,否則就無法安裝 Go 程序的可執(zhí)行文件沼瘫。

pkg:用來存放通過 go install 命令安裝后的代碼包的歸檔文件(.a 文件)

GOBIN:存放可執(zhí)行文件的文件目錄抬纸。

Go 的源碼文件分類:

(1)命令源碼文件:
    聲明自己屬于 main 代碼包、包含無參數(shù)聲明和結(jié)果聲明的 main 函數(shù)晕鹊。
    命令源碼文件被安裝以后松却,GOPATH 如果只有一個工作區(qū),那么相應(yīng)的
    可執(zhí)行文件會被存放當(dāng)前工作區(qū)的 bin 文件夾下溅话;如果有多個工作區(qū),
    就會安裝到 GOBIN 指向的目錄下歌焦。

(2)庫源碼文件
    
    庫源碼文件就是不具備命令源碼文件上述兩個特征的源碼文件飞几。存在于某個代碼包中的普通的源碼文件。

(3)測試源碼文件

    名稱以 _test.go 為后綴的代碼文件独撇,并且必須包含 Test 或者 Benchmark 名稱前綴的函數(shù)屑墨。

詳情可以參照https://studygolang.com/articles/10572

2. Go 語言源碼的組織方式

代碼包的名字和代碼包下面的代碼的package name 一般是同名的,如果不同纷铣,在構(gòu)建的過程中就以代碼包為準(zhǔn)卵史。

GO語言也是以代碼包為基本的組織單位。比如:

import proto "github.com/golang/protobuf/proto"

在工作區(qū)內(nèi)以躯,一個代碼包的引入,其實就是以GOPATH/src為基準(zhǔn)的相對路徑啄踊。

3.go build 的使用

go build 默認(rèn)不會重新編譯目標(biāo)代碼所依賴的代碼包忧设。當(dāng)然如果依賴的的.a文件不存在或者源代碼變化還是會被編譯。

go build -a //強(qiáng)制編譯依賴的庫
go build -x //顯示執(zhí)行了哪些操作
go build -v //可以看到編譯的所有代碼包的名字和 -a 搭配很好

總結(jié)

GOPATH 個人認(rèn)為主要是給GO語言的管理提供了一個相對的“絕對路徑”颠通。這樣保證代碼的管理是有一個標(biāo)準(zhǔn)目錄作為“根目錄的”址晕。

問題

  1. Go 語言在多個工作區(qū)中查找依賴包的時候是以怎樣的順序進(jìn)行的?

    如果有多個工作區(qū)顿锰,那么是按照GOPATH里面的先后順序查找的

  2. 如果在多個工作區(qū)中都存在導(dǎo)入路徑相同的代碼包會產(chǎn)生沖突嗎谨垃?

    不會沖突启搂,像上面說的會按照順序查找執(zhí)行

拓展

如果我的src下面的文件夾名字叫做hello,但package的名字叫做HelloGO

package HelloGo

import "fmt"

func PrintHello(){
    fmt.Println("Hello Go")
}

這時候如果你想調(diào)用這個包刘陶,代碼應(yīng)該怎么寫胳赌,

    import HelloGo?
    還是import hello

答案肯定是import hello的易核,因為GOPATH的特性匈织,只會按照目錄來查找包,但你調(diào)用的時候就不能用目錄名字來調(diào)用了:

package main

import "fmt"
import "hello"

func main() {
    fmt.Println("Hello, world!")
    HelloGo.PrintHello() //導(dǎo)入包的時候用文件夾名字牡直,調(diào)用函數(shù)用package的名字
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缀匕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子碰逸,更是在濱河造成了極大的恐慌乡小,老刑警劉巖缨伊,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件第喳,死亡現(xiàn)場離奇詭異,居然都是意外死亡桩盲,警方通過查閱死者的電腦和手機(jī)胳喷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門湃番,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吭露,你說我怎么就攤上這事吠撮。” “怎么了讲竿?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵泥兰,是天一觀的道長。 經(jīng)常有香客問我题禀,道長鞋诗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任迈嘹,我火速辦了婚禮削彬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘江锨。我一直安慰自己吃警,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布啄育。 她就那樣靜靜地躺著酌心,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挑豌。 梳的紋絲不亂的頭發(fā)上安券,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天墩崩,我揣著相機(jī)與錄音,去河邊找鬼侯勉。 笑死鹦筹,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的址貌。 我是一名探鬼主播铐拐,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼练对!你這毒婦竟也來了遍蟋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤螟凭,失蹤者是張志新(化名)和其女友劉穎虚青,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體螺男,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡棒厘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了下隧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奢人。...
    茶點(diǎn)故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖淆院,靈堂內(nèi)的尸體忽然破棺而出达传,到底是詐尸還是另有隱情,我是刑警寧澤迫筑,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站宗弯,受9級特大地震影響脯燃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蒙保,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一辕棚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧邓厕,春花似錦逝嚎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至昧互,卻和暖如春挽铁,著一層夾襖步出監(jiān)牢的瞬間伟桅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工叽掘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留楣铁,地道東北人。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓更扁,卻偏偏與公主長得像盖腕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子浓镜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評論 2 351