分享
  1. 首页
  2. 文章

golang工程约定,分包和编译

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

go-lang已经发布了go1.1.2,前段时间看了一下go语言的教程,就喜欢上了这门语言,但使用多个文件编译是碰到一些麻烦,引用出错编译通不过,google之找到了相关教程:

https://golang.org/doc/code.html

http://lavafree.iteye.com/blog/1683363,

http://blog.studygolang.com/2012/12/go项目的目录结构/

并按自己的理解记录一下,并进行了实验。我的项目目录如下所示:

goproject # 工程根目录 
|.........src # 源代码 
 |.....com
 |. ..main
 |...main.go #这个必须在main包,有main函数
 |......sqrt
 |...sqrt.go #包内源代码文件,不包含main函数

如上结构是go的目录结构了,其实bin和pkg是不用自己建立的,go编译自动生成。


实战一下:

1.在d:\下新建goproject目录

2.设置GOPATH环境变量

GOPATH = d:\goprojcet

3.goproject下新建src

4.src下新建sqrt,旗下新建sqrt及sqrt.go文件

5.sqrt.go文件输入代码

package sqrt
// Sqrt returns an approximation to the square root of x.
func Sqrt(x float64) float64 {
	// This is a terrible implementation.
	// Real code should import "math" and use math.Sqrt.
	z := 0.0
	for i := 0; i < 1000; i++ {
		z -= (z*z - x) / (2 * x)
	}
	return z
}


6.com下新建main,旗下新建main.go
7.main.go输入

package main
import (
	"com/sqrt"
	"fmt"
)
func main() {
	fmt.Printf("Hello, world. Sqrt(2) = %v\n", sqrt.Sqrt(2))
}

8.命令行切换到src下,输入命令
go install com/sqrt
这时候根goproject下生成一个pkg

9.src下输入命令
go install com/main
编译生成main(main.exe)命令行

10.执行./main(main.exe)就有输出了

go的这种约定很简洁,其实GOROOT就相当于(JAVA_HOME)
GOPATH 相当于PATH,依赖路径,可以配置多个,linux用冒号(:)隔开,window用分号(;)
GO的引用是 一级包/二级包/包名 比如com/sqrt




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

本文来自:CSDN博客

感谢作者:king_sky

查看原文:golang工程约定,分包和编译

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

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

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏