亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

GO 語言運行環(huán)境的基礎(chǔ)知識

 更新時間:2022年09月19日 08:08:52   作者:芒果和小貓  
這篇文章主要介紹了GO 語言運行環(huán)境的基礎(chǔ)知識的相關(guān)資料,需要的朋友可以參考下

1. GOPATH 和 GOROOT(環(huán)境變量)

1. GOROOT

go 編譯器、標(biāo)準(zhǔn)庫等安裝的地方,所有我們寫的代碼其實都是文本文件而已,需要編譯器等工具將其加工成可執(zhí)行文件或者庫文件才能使用,每種語言都有自己的這樣一套“工具”。GOROOT 就是 go 語言的這類“工具”的安裝目錄。

2. GOPATH

類似工作區(qū)(workspace)的概念,其中里面有三個文件夾

  • src:保存自己的源代碼,或者第三方依賴的代碼,有了 go module 現(xiàn)在一般不用這個了;
  • pkg:一般保存一些庫文件,在 go module 模式中,也存儲下載下來的依賴 module;
  • bin:它保存已編譯的可執(zhí)行文件;

有一些老的 go 教程,需要源代碼放在 src 目錄下,現(xiàn)在這種模式已經(jīng)不推薦了,因為現(xiàn)在推薦的是 go module 模式,自己寫的 module 放在哪里都可以。 之所以老的那種模式被廢棄,主要原因是無法很好的做依賴管理。

3. Package

GO 語言使用 package 來組織源代碼的,就像其他的語言一樣,在程序內(nèi)部需要將功能進行劃分,任何一個 go 語言程序必須屬于一個package,每個 go 文件的開頭要寫上 package xxx。
package 一般要滿足如下三個條件:

  • 同一個目錄下的同級的所有 .go 文件應(yīng)該屬于一個包;
  • 包名建議和目錄名同名;
  • 一個 go 程序有且只有一個 main 函數(shù)作為程序入口,且必須屬于 main 包,沒有或者有多個 main 包,編譯程序會出錯。

2. Go Module

1. GO111MODULE

Go Module 在 go 1.14 正式發(fā)布,不用再把源代碼放在 src 文件夾下,比之前更好的依賴管理,也是現(xiàn)在推薦的做法。啟用 Go Modules 需要顯示設(shè)置一個環(huán)境變量 GO111MODULE=on。
利用 go mod init 命令在當(dāng)前目錄初始化一個 module,如下。

go mod init example.com/test

2. Module Path

其中 example.com/test 叫做 moudle path ,一般采用“代碼倉庫 + module name” 的方式定義。例如 github.com/go-sql-driver/mysq go 會去 github 倉庫去獲取這個 module。

3. go.mod 和 go.sum

在 module 主目錄下主要會有兩個文件和 module 相關(guān):

  • go.mod:它用來標(biāo)記一個 module 和它的依賴庫以及依賴庫的版本。
  • go.sum:記錄了所有依賴的 module 的校驗信息,為了防止下載的 module 被惡意篡改,主要用于安全校驗。

3. Go 的幾個命令

1. go run

可以快速的運行某個 go 文件,go 在背后會在臨時的目錄編譯并且執(zhí)行,在程序退出后清除臨時目錄。

2. go build

編譯 main 包,并在當(dāng)前或者指定的目錄生成可執(zhí)行文件,非 main 包一般不會生成任何文件。

3. go install

編譯 go 文件,將生成的可執(zhí)行文件或者庫文件放到 GOPATH 下的 bin 或者 pkg 文件夾下。

到此這篇關(guān)于GO 語言工作環(huán)境的基礎(chǔ)知識的文章就介紹到這了,更多相關(guān)GO 語言基礎(chǔ)知識內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • GO語言實現(xiàn)二維碼掃碼的示例代碼

    GO語言實現(xiàn)二維碼掃碼的示例代碼

    你對二維碼掃碼的流程有困惑嗎,這篇文章就結(jié)合筆者自身的開發(fā)經(jīng)驗進行分享,讓大家熟悉并掌握此功能,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧
    2023-06-06
  • Go unsafe 包的使用詳解

    Go unsafe 包的使用詳解

    這篇文章主要介紹了Go unsafe 包的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Golang使用pprof檢查內(nèi)存泄漏的全過程

    Golang使用pprof檢查內(nèi)存泄漏的全過程

    pprof 是golang提供的一款分析工具,可以分析CPU,內(nèi)存的使用情況,本篇文章關(guān)注它在分析內(nèi)存泄漏方面的應(yīng)用,本文給大家介紹了Golang使用pprof檢查內(nèi)存泄漏的全過程,文中通過代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • golang如何使用gomobile進行Android開發(fā)

    golang如何使用gomobile進行Android開發(fā)

    golang可以開發(fā)android,使用golang開發(fā)android需要下載安裝gomobile,下面這篇文章主要給大家介紹了關(guān)于golang如何使用gomobile進行Android開發(fā)的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Golang map實現(xiàn)原理深入分析

    Golang map實現(xiàn)原理深入分析

    map是一種無序的基于key-value的數(shù)據(jù)結(jié)構(gòu),Go語言中的map是引用類型,必須初始化才能使用,下面這篇文章主要給大家介紹了關(guān)于golang中map使用的幾點注意事項,需要的朋友可以參考下
    2023-01-01
  • Go中的錯誤和異常處理最佳實踐方法

    Go中的錯誤和異常處理最佳實踐方法

    這篇文章主要介紹了Go中的錯誤和異常處理最佳實踐方法,文章圍繞主題展開詳細(xì)的內(nèi)容戒殺,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • Go語言學(xué)習(xí)教程之聲明語法(譯)

    Go語言學(xué)習(xí)教程之聲明語法(譯)

    Golang 就是類C的語法,下面這篇文章主要給大家介紹了關(guān)于Go語言學(xué)習(xí)教程之聲明語法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • 詳解Go語言如何利用上下文進行并發(fā)計算

    詳解Go語言如何利用上下文進行并發(fā)計算

    在Go編程中,上下文(context)是一個非常重要的概念,它包含了與請求相關(guān)的信息,本文主要來和大家討論一下如何在并發(fā)計算中使用上下文,感興趣的可以了解下
    2024-02-02
  • Go與Rust高性能解析JSON實現(xiàn)方法示例

    Go與Rust高性能解析JSON實現(xiàn)方法示例

    這篇文章主要為大家介紹了Go與Rust高性能的解析JSON實現(xiàn)方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • Golang學(xué)習(xí)筆記(四):array、slice、map

    Golang學(xué)習(xí)筆記(四):array、slice、map

    這篇文章主要介紹了Golang學(xué)習(xí)筆記(四):array、slice、map,本文分別講解了這3個類型的聲明&賦值、元素訪問、其它操作,需要的朋友可以參考下
    2015-05-05

最新評論