天天看點

Golang自定義包導入

# 檔案Tree
project
-/bin
-/pkg
-/src
    -main.go
    -/test
        -test1.go
        -test2.go      

main.go

package main

import (
    "fmt"
    "./test"
)
    

func main() {
        fmt.Print("test1\n")
        test.Ojbk1()
        fmt.Print("test2\n")
        test.Ojbk2("okokok")  
}      

test/test1.go

package test

import "fmt"

func Ojbk1() {
    fmt.Println("This is test1 , done ")
}      

test/test2.go

package test

import "fmt"

func Ojbk2(info) {
    fmt.Println(info)
}      

1.import語句使用的是檔案夾的名稱

  • 上面的import後面的參數對應的就是檔案夾test
  • 導入方式:import(./test)

2.檔案夾的名稱和package的名稱不一定相同

上面的例子中,檔案夾是test,package名稱是test(也可以寫别的名稱)。

3.調用自定義包使用

package名稱.函數名

的方式

例如上面使用的test.Ojkb1()

4.自定義包的調用和檔案名沒有關系

例如上面的test1.go檔案,如果改成test_xxxx.go,程式也能正常編譯。編譯系統會自動查找test檔案夾下的所有檔案,在其中尋找package test,然後選擇Ojbk1函數。

參考連結:

https://my.oschina.net/zlLeaf/blog/174404

https://studygolang.com/articles/12842?fr=sidebar

Github位址:https://github.com/kumataahh