如下所示,main.go文件中函数如果要调用与main.go同级目录下的func文件夹中func1.go中的Test()函数的具体实现方法。
test |--func |--func1.go |--func2.go |--main.go
在main.go文件中需要写入的是
package main import( "test/func" ) func main(){ func.Test() }
其中需要注意的是:
1、test项目要在golang的$GOPATH路径下。
例如$GOPATH=/home/data
而test文件路径是/homg/data/src/test
那么main.go中import引用的路径就是"test/func"
。如果文件路径是/home/data/src/XXX/test
那么main.go中import引用的路径就是"XXX/test/func"
。可见import中引用的外部文件是根据$GOPATH的相对路径。
$GOPATH
路径下有会生成三个目录,src
、pkg
和bin
。src
存放源代码(比如:.go
.c
.h
.s
等),pkg
编译时生成的中间文件(比如:.a
),bin
编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH
变量中,如果有多个GOPATH
,那么使用${GOPATH//://bin:}/bin
添加所有的bin目录)。
2、被调用的func1.go文件中Test()函数,首字母要大写。
golang中变量、方法名的首写字母是大写的时候默认可以被外部调用的,首写字母是小写时候默认不能被外部调用。