天天看點

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函數。

繼續閱讀