你好,Go
2016-08-12 11:14
162 查看
学习教程:Go Web编程.pdf,点击免费下载。
学习视频:网易的云课堂:Go编程基础
Go基础系列文档更多的是记录我的学习点滴,增强自己的学习效果,可能是很基础的东西,希望别喷我哦。
在上一篇Go环境安装我们成功安装了Go环境,接下来的一步就是写一个hello world的程序感受感受下Go语言的魅力。
上一篇Go环境安装中,我们设置了GOPATH的工作目录,先来看看我的目录结构。
上面的目录结构应该不难看出我是在GOPATH下的src目录中建我工程。
先来看看hellowold.go源码
go程序的一般结构:
通过package来组织的,package main这一行告诉我们当前的文件属于哪个包,编译后会生成*.a文件,并放在
备注:如果将上面package后面的main改为test_main,函数main改为test_main。当前目录执行go install。然后再来看看pkg的目录结构:
每个可独立运行的Go程序,必定包含一个package main,在这个main包中必定包含一个入口函数main,且这个函数没有参数,也没有返回值。这点跟C、java不一样哎。
我们需要用到某个包的函数时,必须import它,helloworld用到的fmt包的Print函数,因此需要import “fmt”;但是如果用不到某个包,Go绝不允许import它,否则会编译会报错,这~~~,要求的确严,不过也有好处,不该用的包本身就不应该impot,程序就应该有严谨性。
fun关键字指示这是一个函数,main函数中调用了fmt包的Print函数。
本文的知识点:
1. 工程目录结构
2. pkg包的生成以及包名跟文件名、package 包名三者的联系
3. 入口函数main
4. fun关键字
学习视频:网易的云课堂:Go编程基础
Go基础系列文档更多的是记录我的学习点滴,增强自己的学习效果,可能是很基础的东西,希望别喷我哦。
在上一篇Go环境安装我们成功安装了Go环境,接下来的一步就是写一个hello world的程序感受感受下Go语言的魅力。
上一篇Go环境安装中,我们设置了GOPATH的工作目录,先来看看我的目录结构。
jindg@nc:~/goWorkProjects/goPath$ tree . ├── bin//(存放编译后生成的可执行文件) │ └── helloworld//本文的小程序go install生产的可执行文件 ├── pkg//(存放编译后生成的包文件) └── src//(存放项目源码) └── helloworld//本文要讲的helloword小程序工程 └── helloworld.go
上面的目录结构应该不难看出我是在GOPATH下的src目录中建我工程。
先来看看hellowold.go源码
package main import "fmt" func main() { fmt.Print("hello world! Go!") }
go程序的一般结构:
通过package来组织的,package main这一行告诉我们当前的文件属于哪个包,编译后会生成*.a文件,并放在
$GOPATH/pkg/$GOOS_$GOARCH文件夹中;如果为main包,则告诉我们它是一个可独立运行包,编译后会产生可执行文件。
备注:如果将上面package后面的main改为test_main,函数main改为test_main。当前目录执行go install。然后再来看看pkg的目录结构:
├── pkg │ └── linux_amd64 │ └── helloworld.a//与go源文件所在文件名相同,所以我们一般建议package后面的包名跟所在文件名保持一致
每个可独立运行的Go程序,必定包含一个package main,在这个main包中必定包含一个入口函数main,且这个函数没有参数,也没有返回值。这点跟C、java不一样哎。
我们需要用到某个包的函数时,必须import它,helloworld用到的fmt包的Print函数,因此需要import “fmt”;但是如果用不到某个包,Go绝不允许import它,否则会编译会报错,这~~~,要求的确严,不过也有好处,不该用的包本身就不应该impot,程序就应该有严谨性。
fun关键字指示这是一个函数,main函数中调用了fmt包的Print函数。
本文的知识点:
1. 工程目录结构
2. pkg包的生成以及包名跟文件名、package 包名三者的联系
3. 入口函数main
4. fun关键字
相关文章推荐
- 你好,Go
- 你好,Go
- 你好,Go
- 001-安装 go & 你好,世界
- Blog加入chatandgo-可以在Blog上和我聊天了
- go get 请求获取http body
- 【寒江雪】Go实现责任链模式
- PHP and ASP.NET Go Head-to-Head【PHP与ASP.NET对对碰】
- go中的读写锁RWMutex
- [Go] panic 和 recover
- 【寒江雪】Go实现中介者模式
- Vina/Ice got promoted on 3/1 & Vina go abroad on 3/26
- go语言文件操作
- go-ethereum源码剖析:交易
- ABAP的“世界你好”程序
- [GO]Golang 解析xml 生成json 传到前台
- Mac OS X 通过Homebrew安装Go
- 【寒江雪】Go实现策略模式