91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

import和package怎么在golang中使用

發布時間:2021-05-17 17:45:17 來源:億速云 閱讀:246 作者:Leah 欄目:編程語言

這篇文章給大家介紹import和package怎么在golang中使用,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

golang 使用包 package 來管理定義模塊,可以使用 import 關鍵字來導入使用。

  1. 如果導入的是 go 自帶的包,則會去安裝目錄 $GOROOT/src 按包路徑加載,如 fmt 包

  2. 如果是我們 go get 安裝或自定義的包,則會去 $GOPATH/src 下加載

package 的定義

package 的存放位置是以 $GOPATH/src 作為根目錄,然后靈活的按照目錄去組織,且包名需與最后一級目錄名一致。

例如我們自定義 baz 包,包模塊的存放位置則為 $GOPATH/src/foo/bar/baz,baz 包的源碼都存放在此目錄下,foo/bar/baz 則作為包路徑被 import 載入。

我們需要規范的將 baz 包中源碼的 package 定義為 baz,就定義好一個可 import 載入的的包了。

hello 模塊

//$GOPATH/src/foo/bar/baz/hello.go
package baz

import (
  "fmt"
)

// 模塊初始化函數 import 包時被調用
func init() {
  fmt.Println("hello module init function")
}

func Hello() {
  return "hello"
}

world 模塊

//$GOPATH/src/foo/bar/baz/world.go
package baz

import (
  "fmt"
)

// 模塊初始化函數 import 包時被調用
func init() {
  fmt.Println("world module init function")
}

func World() string {
  return "world"
}
package main

import (
  "fmt"
  "foo/bar/baz" //引入我們自定義的包
)

func main() {
  fmt.Println(baz.Hello(), baz.World())
}

import的使用

普通操作

import (
  "fmt"
  "log"
  "foo/bar/baz"
)

普通導入就是按照加載機制,將要使用的包導入進來,然后使用 packageName.MethodName 的方式調用包內的方法即可。注意如果要包方法在其他包中可以調用,包方法需要首字母大寫,例如:fmt.Println() fmt.Printf()。

別名操作

package main

import (
  "fmt"
  myBaz "foo/bar/baz"
)

func main() {
  fmt.Println(myBaz.Hello(), myBaz.World())
}

如果兩個包的包名存在沖突,或者包名太長需要簡寫時,我們可以使用別名導入來解決。

點操作

package main

import (
  "fmt"
  . "foo/bar/baz"
)

func main() {
  fmt.Println(Hello(), World()) // 直接使用包內的方法即可 不需要顯式使用包名
}

. 導入可以讓包內的方法注冊到當前包的上下文中,直接調用方法名即可,不需要再加包前綴。

下劃線操作

package main

import (
  "fmt"
  _ "foo/bar/baz"
)

func main() {
  fmt.Println(baz.Hello(), baz.World()) // 錯誤 _ 并沒有導入包 只是引入并執行包模塊的 init 方法
}

golang適合做什么

golang可以做服務器端開發,但golang很適合做日志處理、數據打包、虛擬機處理、數據庫代理等工作。在網絡編程方面,它還廣泛應用于web應用、API應用等領域。

關于import和package怎么在golang中使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

呼玛县| 喀喇沁旗| 丘北县| 波密县| 武安市| 七台河市| 阿图什市| 石门县| 张家港市| 盐山县| 海口市| 沧州市| 鄂温| 文水县| 尖扎县| 页游| 宜丰县| 青河县| 循化| 崇左市| 阜平县| 泸溪县| 花莲县| 自贡市| 班戈县| 陇西县| 滦南县| 共和县| 甘南县| 东明县| 习水县| 沙湾县| 芦溪县| 阳江市| 五莲县| 龙井市| 临颍县| 六安市| 久治县| 麻阳| 随州市|