在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
此文主要是对官方教程的学习总结,官方教程:http://golang.org/doc/code.html。 工作空间(Workspaces)Go代码必须保持在一个workspace,workspace是一个目录结构,他有三个子目录构成:
go tool编译packages,然后将编译结果安装到pkg目录或bin目录,下面是一个湿示例: GOPATH环境变量GOPATH环境变量指向了Workspace的位置,如果没有设置的话,自己去设置一下,否则go install会执行失败。 包路径(Package Path)标准类库的packages可以使用短名字,如:fmt。对于你自己的Packages,最好提供一个base path(基路径),这可以避免命名冲突,下面是我的命名原则: 1 happygo.codeplex.com/study(源代码服务提供商仓库/项目)。
你的第一个程序选择一个包路径 1 happygo.codeplex.com/study/hello
hello.go 1 package main //command executable(命令行可执行程序)必须使用main作为package名字。 2 3 import "fmt" 4 5 func main() { 6 fmt.Print("你好,世界!\n") 7 } 项目结构 你的第一个类库选择一个包路径 1 happygo.codeplex.com/study/hellolib
hellolib.go 1 package hellolib 2 3 func Max(x int, y int) int { 4 if x >= y { 5 return x 6 } 7 8 return y 9 } 修改hello.go,调用类库 1 package main 2 3 import ( 4 "fmt" 5 "happygo.codeplex.com/study/hellolib" 6 ) 7 8 func main() { 9 fmt.Print("你好,世界!\n") 10 fmt.Printf("2 和 3中最大的是 %d!", hellolib.Max(2, 3)) 11 } 项目结构 注意:Go使用静态链接(会将所依赖的代码链接到一个文件)。包名字(Package Name)Go源文件必须以包声明开始: 1 package name
一些规则:
测试集成Go提供了 go test 命令和 testing package帮助我们做测试,下面是测试的组织规则:
hellolib_test.go 1 package hellolib 2 3 import "testing" 4 5 func TestMax(t *testing.T) { 6 const x, y = 2, 3 7 max := Max(x, y) 8 if max == x { 9 t.Error("Max错误!") 10 } 11 } 备注大环境搞明白了,语法就快了,再用一天时间学习一下语法,然后用Google App Engine开发个应用试试。
|
请发表评论