Go入门:Hello World
1. 关于 Go
2. 安装 Go
笔者编写博客时,Go最新版本为1.17.5。
2.1 安装包下载
2.2 验证是否安装成功
安装完成后,打开终端,键入 go version 来验证是否安装成功。
3. 选择合适的开发工具
3.1 轻量级 VsCode
VsCode 是微软开源的一款流行的文本编辑器,通过引入功能强大的插件来定制化开发工作。
Go 语言插件下载示意图如下:
3.2 工程级 GoLand
GoLand 是JetBrains开发的一款付费的 Integrated Development Environment(IDE,集成开发环境),推荐使用。
4. 项目目录
- module :GO_DEMO_HELLO
- package:main(主程序)、awesome(完成打印HelloWorld)、awesome_test(单元测试)
5. 编译 & 运行
前置知识
- 在 Go 中,模块(module)是软件的分发和版本控制单元。
- 在终端通过
go mod init + *{模块名}*,一般来说,模块名是您希望在 Internet 上下载该模块的位置。由于笔者没有自己的网站 🐸,所以使用 go_demo_hello 来作为模块名。 - 在 Go 中,包(package)是一组织抽象(比较像面向对象语言的类库或命名空间),同一个 package 下,可以有非常多 .go 文件(只要这些 go 文件第一行 为 package {同一个包名})。包名和文件夹名可以不一致。
- GoRoot 指向安装路径,GoPath 相当于 本地仓库(类比与管理 jar 包的maven本地仓库 )与 构建的可执行文件 所在处(这样说可能不太恰当,但笔者是这么用的,因为我的项目并不放在 GoPath 目录下)。
5.1 Go with Visual Studio Code
- 新建
go_demo_hello文件夹,并使用 vscode 打开。
2 打开终端,输入 go mod init go_demo_hello ,生成 go.mod 文件,完成初始化。
- 创建一个名为
awesome的包(即新键文件夹 awesome),并新建hello.go
注意:函数名首字母大写,包外才可见
package awesome
func HelloWorld() string {
return "hello World"
}
- 在
awesome目录下,建立单元测试文件hello_test.go
package awesome_test
import (
"go_demo_hello/awesome"
"testing"
)
func TestHelloWorld(t *testing.T) {
if awesome.HelloWorld() != "hello World" {
t.Fatal("Wrong answer")
}
}
- 在
GO_DEMO_HELLO目录下,新建文件main.go
package main
import (
"fmt"
"go_demo_hello/awesome"
)
func main() {
fmt.Println(awesome.HelloWorld())
}
- 终端输入
go run main.go运行程序,关于Vscode 如何调试程序比较复杂,有需要可以参考 tips 2。
5.2 Create a new project with GoLand
- 创建项目
go.mod 会自动生成,新键 main.go
- 配置项目构建,按默认的就行
- 运行,点击 run 按钮
tips
1. 解决 vscode 安装 Go 插件失败
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct