Go语言中程序文件的组织方式
packageTest/sub.go的代码如下:
package main
import (
"fmt"
)
func hello() {
fmt.Println("Hello World!")
}
packageTest/main.go的代码如下:
package main
func main() {
hello()
}
输入命令行如下:
go run main.go sub.go
运行结果如下:
Hello World!
如果在MacOS或Linux系统中直接执行go run *.go命令。
非执行包与包引用
自己编写非执行包
package1/package1.go,代码如下:
package package1
import (
"fmt"
)
func Hello() {
fmt.Println("Hello World!")
}
test1/test1.go,代码如下:
package main
import (
"package1"
)
func main() {
package1.Hello()
}
输入命令行如下:
go run test1.go
运行结果如下:
test1.go:4:2: package package1 is not in GOROOT (C:\Program Files\Go\src\package1)
然后,把两个文件放在src文件夹里面,结果运行成功。
Hello World!
非执行包名与目录的关系
在package1.go中的代码里,改为:
package package2
在text1.go中的代码里,改为:
package2.Hello()
用多级子目录组织包结构