欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Go語言的包管理

1 概述

Go 語言的源碼復(fù)用建立在包(package)基礎(chǔ)之上。包通過 package, import, GOPATH 操作完成。

創(chuàng)新互聯(lián)主打移動網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、主機(jī)域名、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再決定采用什么樣的設(shè)計(jì)。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計(jì),我們還會規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。

2 main包

Go 語言的入口 main() 函數(shù)所在的包(package)叫 main,main 包想要引用別的代碼,需要import導(dǎo)入!

3 包定義,package

Go 語言的包與文件夾一一對應(yīng),同一個(gè)目錄下的所有.go文件的第一行添加 包定義,以標(biāo)記該文件歸屬的包,演示語法:

package 包名

包需要滿足:

  • 一個(gè)目錄下的同級文件歸屬一個(gè)包。
  • 包名可以與其目錄不同名。
  • 包名為 main 的包為應(yīng)用程序的入口包,其他包不能使用。

包可以嵌套定義,對應(yīng)的就是嵌套目錄,但包名應(yīng)該與所在的目錄一致,例如:

// 文件:foo/bar/tool.go中
package bar
// 可以被導(dǎo)出的函數(shù)
func FuncPublic() {
}
// 不可以被導(dǎo)出的函數(shù)
func funcPrivate() {
}

包中,通過標(biāo)識符首字母是否大寫,來確定是否可以被導(dǎo)出。首字母大寫才可以被導(dǎo)出,視為 public 公共的資源。

4 導(dǎo)入包,import

要引用其他包,可以使用 import 關(guān)鍵字,可以單個(gè)導(dǎo)入或者批量導(dǎo)入,語法演示:

// 單個(gè)導(dǎo)入
import "package"
// 批量導(dǎo)入
import (
  "package1"
  "package2"
  )

導(dǎo)入時(shí),可以為包定義別名,語法演示:

import (
  p1 "package1"
  p2 "package2"
  )
// 使用時(shí)
p1.Method()

以上測試請使用系統(tǒng)包測試。若需要導(dǎo)入自定義包,需要設(shè)置GOPATH環(huán)境變量。

4 GOPATH環(huán)境變量

import導(dǎo)入時(shí),會從GO的安裝目錄(也就是GOROOT環(huán)境變量設(shè)置的目錄)和GOPATH環(huán)境變量設(shè)置的目錄中,檢索 src/package 來導(dǎo)入包。如果不存在,則導(dǎo)入失敗。
GOROOT,就是GO內(nèi)置的包所在的位置。
GOPATH,就是我們自己定義的包的位置。

通常我們在開發(fā)Go項(xiàng)目時(shí),調(diào)試或者編譯構(gòu)建時(shí),需要設(shè)置GOPATH指向我們的項(xiàng)目目錄,目錄中的src目錄中的包就可以被導(dǎo)入了:
例如,我么的項(xiàng)目目錄為: D:\projects\goProject,那么我么就需要將我們的源代碼放在 D:\projects\goProject\src 下,同時(shí)設(shè)置GOPATH為 D:\projects\goProject。設(shè)置GOPATH的方案有:

  • windows 通過 系統(tǒng)->系統(tǒng)信息->高級系統(tǒng)設(shè)置->環(huán)境變量 中完成設(shè)置。
  • windows 中通過 CMD 或者 powershell 也可以完成設(shè)置。通常是臨時(shí)有效的,CMD或者powershell關(guān)閉失效!
    CMD:
    set GOPATH=D:\projects\goProject
    set GOPATH 可以查看
    powershell:
    $env:GOPATH="D:\projects\goProject"
    $env:GOPATH 可以查看
  • linux 通過 /etc/profile 進(jìn)行設(shè)置

5 init() 包初始化

可以在源碼中,定義 init() 函數(shù)。此函數(shù)會在包被導(dǎo)入時(shí)執(zhí)行,例如如果是在 main 中導(dǎo)入包,包中存在 init(),那么 init() 中的代碼會在 main() 函數(shù)執(zhí)行前執(zhí)行,用于初始化包所需要的特定資料。例如:
包源碼:

src/userPackage/tool.go

package userPackage
import "fmt"
func init() {
  fmt.Println("tool init")
}

主函數(shù)源碼:

src/main.go

package main
import (
  "userPackage"
  )
func main() {
  fmt.Println("main run")
  // 使用userPackage
  userPackage.SomeFunc()
}

執(zhí)行時(shí),會先輸出 "tool init",再輸出 "main run"。

如果僅僅需要導(dǎo)入包時(shí)執(zhí)行初始化操作,并不需要使用包內(nèi)的其他函數(shù),常量等資源。則可以在導(dǎo)入包時(shí),匿名導(dǎo)入:

import (
  _ "userPackage"
  )

使用下劃線作為包的別名,會僅僅執(zhí)行init()

完!
原文出自:小韓說課
微信關(guān)注:小韓說課
Go語言的包管理

新聞標(biāo)題:Go語言的包管理
URL分享:http://chinadenli.net/article2/ppcjoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站排名網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、標(biāo)簽優(yōu)化

廣告

聲明:本網(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)

成都seo排名網(wǎng)站優(yōu)化
日韩欧美一区二区亚洲| 久久99午夜福利视频| 日本福利写真在线观看| 98精品永久免费视频| 成人区人妻精品一区二区三区| 国产又粗又黄又爽又硬的| 又色又爽又无遮挡的视频| 成人免费高清在线一区二区| 日韩黄片大全免费在线看| 亚洲第一区二区三区女厕偷拍| 99国产高清不卡视频| 日韩高清毛片免费观看| 久久亚洲国产视频三级黄 | 99秋霞在线观看视频| 91欧美日韩中在线视频| 久久这里只有精品中文字幕| 日本婷婷色大香蕉视频在线观看 | 加勒比东京热拍拍一区二区| 精品久久少妇激情视频| 亚洲国产精品肉丝袜久久| 加勒比日本欧美在线观看| 日韩免费成人福利在线| 久久综合亚洲精品蜜桃| 又色又爽又黄的三级视频| 国产精品成人免费精品自在线观看| 亚洲高清欧美中文字幕| 欧美黄色成人真人视频| 日韩亚洲激情在线观看| 国产传媒欧美日韩成人精品| 在线观看免费无遮挡大尺度视频| 高清欧美大片免费在线观看| 国产精品久久香蕉国产线| 亚洲av熟女一区二区三区蜜桃| 国产又大又猛又粗又长又爽| 欧美小黄片在线一级观看| 国产精品一级香蕉一区| 俄罗斯胖女人性生活视频| 少妇被粗大进猛进出处故事| 国产中文字幕一二三区| 国产内射一级一片内射高清| 亚洲男人的天堂就去爱|