# 文件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