golang之旅--项目结构.md

花_现 · · 669 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

整体结构

首先我们要知道,项目结构往往指的是gopath。类似我们java中的classpath。 gopath包含三块内容:srcbinpackage,那么他们都是用来干什么的呢?

  • 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


有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:花_现

查看原文:golang之旅--项目结构.md

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077

669 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传