# 文件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(也可以写别的名称)。

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