一、go项目工程结构

配置好工作目录后,就可以编码开发了,在这之前,我们看下go的通用项目结构,这里的结构主要是源代码相应地资源文件存放目录结构。

1.1 gopath目录

gopath目录就是我们存储我们所编写源代码的目录。该目录下往往要有3个子目录:src,bin,pkg。

src ---- 里面每一个子目录,就是一个包。包内是Go的源码文件
pkg ---- 编译后生成的,包的目标文件
bin ---- 生成的可执行文件。


1.2 编写第一个程序

1.在HOME/go的目录下,(就是GOPATH目录里),创建一个目录叫src,然后再该目录下创建一个文件夹叫hello,在该目录下创建一个文件叫helloworld.go,并双击打开,输入以下内容:

2.执行go程序

执行go程序由几种方式

方式一:使用go run命令

step1:打开终端:

window下使用快捷键win+R,输入cmd打开命令行提示符

linux下可以使用快捷键:ctrl+alt+T

mac下command+空格,输入termainl

step2:进入helloworld.go所在的目录

step3:输入go run helloworld.go命令并观察运行结果。

方式二:使用go build命令

step1:打开终端:在任意文件路径下,运行: ​ go install hello

也可以进入项目(应用包)的路径,然后运行: ​ go install

注意,在编译生成go程序的时,go实际上会去两个地方找程序包: GOROOT下的src文件夹下,以及GOPATH下的src文件夹下。

在程序包里,自动找main包的main函数作为程序入口,然后进行编译。

step2:运行go程序 ​ 在/home/go/bin/下(如果之前没有bin目录则会自动创建),会发现出现了一个hello的可执行文件,用如下命令运行: ​ ./hello

1.3 第一个程序的解释说明

3.2.1 package

importpackage

3.2.2 import

import "fmt" 告诉 Go 编译器这个程序需要使用 fmt 包的函数,fmt 包实现了格式化 IO(输入/输出)的函数

可以是相对路径也可以是绝对路径,推荐使用绝对路径(起始于工程根目录)

fmt.Println("hello world")Println("hello world")f.Println("hello world")

3.3.3 main

main(),是程序运行的入口。



1.4 包的说明

http://www.mobiletrain.orgmobiletrain.org

如果有自己的域名,那也可以使用自己的域名。如果没有个人域名,现在流行的做法是使用你个人的github名,因为每个人的是唯一的,所以也不会有重复。



如上,src目录下跟着一个个域名命名的文件夹。再以http://github.com文件夹为例,它里面又是以github用户名命名的文件夹,用于存储属于这个github用户编写的go源代码。