go語言中包是什么,go語言io包

4.1 Go語言中包(Packages)基礎(chǔ)知識

先看一下目錄結(jié)構(gòu),注意這里的src名稱是必須的,go在設(shè)置了GOPATH后,默認(rèn)會添加src去尋找package,暫未查詢是否有方法不按照src查詢

10年積累的成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有靈壽免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

根據(jù)上面的描述,Go語言中通過包中函數(shù)的名稱來區(qū)分公共函數(shù)和私有函數(shù),我們在main函數(shù)中是無法調(diào)用myPrivateFunc的

此時(shí)如果執(zhí)行通過go run方式執(zhí)行,會看到如下的提示信息,這與大部分語言對于包管理方式相關(guān),所以我們通過兩種不同的方法來讓代碼執(zhí)行起來

返回如下,這里面對我們后續(xù)執(zhí)行有影響的兩個(gè)參數(shù)GO111MODULE和GOPATH

如果要使用gopath模式引用包,則需要關(guān)閉mod模式

設(shè)置GOPATH為當(dāng)前路徑,即main.go所在的路徑

此時(shí)再查看go env時(shí),GOPATH已經(jīng)發(fā)生改變

我們再次嘗試執(zhí)行代碼

可以看到public函數(shù)被調(diào)用

4.2 Go語言中包(Packages)的命名

包名本質(zhì)上是所在目錄的名稱,我們在基礎(chǔ)知識演示用例中進(jìn)行擴(kuò)展,進(jìn)一步理解包名,執(zhí)行前需要執(zhí)行的命令請參考上一節(jié),首先來看一下目錄結(jié)構(gòu):

此時(shí),如果我們想使用subpackage/sub/subfunc.go時(shí),需要import的是subpackage/sub,而不是subpackage/sub/subfunc,來看具體的實(shí)現(xiàn):

我們回到使用的主函數(shù)中,我們在主函數(shù)中引入"subpackage/sub",而調(diào)用中直接使用了文件名稱myfunc

執(zhí)行的結(jié)果如下

Golang 公共變量包——expvar

expvar 包是 Golang 官方提供的公共變量包,它可以輔助調(diào)試全局變量。支持一些常見的類型: float64 、 int64 、 Map 、 String 。如果我們的程序要用到上面提的四種類型(其中,Map 類型要求 Key 是字符串)。可以考慮使用這個(gè)包。

這些基礎(chǔ)的功能就不多說了,大家可以直接看官方的 文檔 。

看源碼的時(shí)候發(fā)現(xiàn)一個(gè)非常有意思的調(diào)試接口, /debug/vars 會把所有注冊的變量打印到接口里面。這個(gè)接口很有情懷。

感覺這個(gè)包還是針對簡單變量,比如整形、字符串這種比較好用。

看到就寫了,并沒有什么沉淀,寫得挺亂的。這個(gè)包很簡單,但是里面還是有些可以借鑒的編碼和設(shè)計(jì)。新版本的 Golang 已經(jīng)能解析整形為 Key 的哈希表了,這個(gè)包啥時(shí)候能跟上支持一下?

新手請問Go語言中包的問題

你需要設(shè)置 GOPATH 環(huán)境變量

你 main.go 中需要 import 相應(yīng)包

你 調(diào)用處需要帶上包前綴,比如 tempconv.FToC

網(wǎng)頁標(biāo)題:go語言中包是什么,go語言io包
網(wǎng)頁鏈接:http://muchs.cn/article44/hcjcee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、做網(wǎng)站、外貿(mào)建站、網(wǎng)站設(shè)計(jì)、定制開發(fā)網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)