Skip to content
On this page

开发环境搭建

官网地址

下载Go

shell
brew install go

查看go版本

shell
go version
# go version go1.20.2 darwin/arm64

初始化一个项目

TIP

usernameproject最好都小写

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

  • 然后就可以修改刚才克隆的源代码啦