开发环境搭建
下载Go
shell
brew install go
查看go
版本
shell
go version
# go version go1.20.2 darwin/arm64
初始化一个项目
TIP
username
和project
最好都小写
shell
mkdir hello
cd hello
go mod init github.com/username/projectname
#Example usage:
#'go mod init example.com/m' to initialize a v0 or v1 module
#'go mod init example.com/m/v2' to initialize a v2 module
执行完上述命令后,会在当前目录下生成一个go.mod
文件,类似于package.json
文件,内容如下
shell
module github.com/username/projectname
go 1.20
创建main.go
文件
TIP
- 一个
go
程序中只能有一个main
包 - 一个
main
包中只能有一个main
函数
Go
package main // 声明main 包
import ( // 导入fmt包
"fmt"
)
func main() {
fmt.Println("hello GoLang")
}
运行
shell
go run main.go
另外一种运行方式
先执行go build main.go
,会生成一个可执行的二进制文件
(Windows系统生成的是.exe可执行文件),然后直接运行这个二进制文件即可
使用第三方库
例如使用lorca
Go
go get -u github.com/zserge/lorca
执行完之后会发现根目录多了go.sum
文件,可以将该文件理解为package-lock.json
文件,使用来确定依赖库的版本的
添加和删除依赖
有时候从远程下载了一个go项目,需要下载依赖,可执行
go mod tidy
来下载依赖如果项目中有些用到的依赖库又不想使用了,可以在代码中去除调用代码,然后执行
go mod tidy
命令,会移除未使用到的依赖包
shell
go mod tidy
需要对远程仓库的源码做修改
默认下载的第三方库的代码是不允许修改的,可以使用以下方式:
先将远程仓库克隆到本地
添加
replace 要修改的仓库地址(如:github.com/zserge/lorca) => 克隆下来的本地仓库路径
到go mod
内,该语句和require
平级
如下:
Go
module github.com/username/projectname
go 1.20
replace github.com/zserge/lorca => /Users/username/Desktop/xxxx
require (
github.com/zserge/lorca v0.1.10 // indirect
golang.org/x/net v0.9.0 // indirect
)
然后执行
go mod tidy
然后就可以修改刚才克隆的源代码啦