同一个包下调用
同一包下如
main.go
调用别的文件中的函数( 不论是否以大写字母开头 ),直接调用即可,但运行时候使用1
2
3
4go run .
or
go build
./fileName.exe本地包调用和远程包调用
多项目管理
关于
golang
的环境变量:GOPATH 、GOROOT 的具体作用可以问度娘,很多的。1
2
3
4
5
6
7
8
9
10
11
12
13GOPATH 设置两个目录很有用。
第一个目录作为第三方包的存放位置,第二个目录作为你自己的项目。
将第三方的GOPATH放置到第一位,这样子 go install 将使用它作为默认的位置。 然后你可以在第二个 GOPATH目录下工作。
如:设置 GOPATH为 E:\GOPATH;E:\GO_WORK
go get 第三方的包的时候将会安装到 E:\GOPATH 下。
E:\GO_WORK\src下是自己创建的golang工程。
这样golang工程 和 golang依赖包将会分别存储在两个位置.
关于测试文件
- 名称以
_test.go
结尾的文件不是由go build
命令生成的,将通过go tests
命令运行测试
关于Go的理解
- Go 不是面向对象的编程 (OOP) 语言,但采用 Go 可以实现许多 OOP 功能。
关于CGO
类型转换
C 语言类型 | CGO 类型 | Go 语言类型 |
---|---|---|
char | C.char | byte |
singed char | C.schar | int8 |
unsigned char | C.uchar | uint8 |
short | C.short | int16 |
unsigned short | C.ushort | uint16 |
int | C.int | int32 |
unsigned int | C.uint | uint32 |
long | C.long | int32 |
unsigned long | C.ulong | uint32 |
long long int | C.longlong | int64 |
unsigned long long int | C.ulonglong | uint64 |
float | C.float | float32 |
double | C.double | float64 |
size_t | C.size_t | uint |
结构体
1 | /* |
数组 & 字符串
CGO 的 C 虚拟包提供了以下一组函数,用于 Go 语言和 C 语言之间数组和字符串的双向转换:
1 | // Go string to C string |
Gin
RESTful API
- REST的含义就是客户端与Web服务器之间进行交互的时候,使用HTTP协议中的4个请求方法代表不同的动作
GET
用来获取资源POST
用来新建资源PUT
用来更新资源DELETE
用来删除资源
渲染
- Gin框架中使用
LoadHTMLGlob()
或者LoadHTMLFiles()
方法进行HTML模板渲染
项目管理
- Golang包管理:GoVender
- govender 是对Golang的包依赖管理的一个插件,该工具将项目依赖的外部包拷贝到项目下的 vendor 目录下,并通过 vendor.json 文件来记录依赖包的版本,方便用户使用相对稳定的依赖。