整体结构
首先我们要知道,项目结构往往指的是gopath
。类似我们java中的classpath。 gopath包含三块内容:src
、bin
、package
,那么他们都是用来干什么的呢?
- src存放的是我们的源码,即我们编写的go语言程序
- bin存放的是编译后的可执行文件
- package存放的是编译后生成的文件
src下的结构
src下我们可以创建多个项目
--src
--app1
--a
--b
--c
--main.go
--app2
--main.go
--app3
....
实例
在src下分别创建a,b,c,d四个文件夹
其中a文件夹下创建文件夹a1,a2
a1下创建a_sub文件夹,同时创建subA.go
package a_sub
import (
"fmt"
)
func SubAMethod() {
fmt.Println("a_sub/SubAMethod")
}
a1和a2下分别创建a1.go和a2.go
package a1
import (
"a/a1/a_sub"
"fmt"
)
func PrintA1() {
fmt.Println("a/a1")
}
package a2
import "fmt"
func PrintA2() {
fmt.Println("a/a2")
}
b文件夹下创建b1.go和b2.go
package b
import "fmt"
func printB1() {
fmt.Println("b.b1")
}
package b
import "fmt"
func PrintB() {
printB1()
fmt.Println("b.b2")
}
c文件夹下创建c.go
package main
import (
"a/a1"
"a/a2"
"b"
)
func main() {
a1.PrintA1()
a2.PrintA2()
b.PrintB()
}
d文件夹下创建d.go
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello world")
}
最终文件目录结构如下
多个gopath目录
另外我们可以配置多个gopath目录,在每个gopath目录下的src下分别创建自己的项目,这样就不会这么多项目耦合在一起了。 多个gopath目录之间用;(windows)或:(linux)分割开来。
参考:http://www.cnblogs.com/auh2010006/p/6343231.html