Go入门:Hello World

152 阅读3分钟

Go入门:Hello World

1. 关于 Go

go官网

2. 安装 Go

笔者编写博客时,Go最新版本为1.17.5。

2.1 安装包下载

Untitled.png

2.2 验证是否安装成功

安装完成后,打开终端,键入 go version 来验证是否安装成功。

Untitled 1.png

3. 选择合适的开发工具

3.1 轻量级 VsCode

VsCode 是微软开源的一款流行的文本编辑器,通过引入功能强大的插件来定制化开发工作。

Go 语言插件下载示意图如下:

Untitled 2.png

3.2 工程级 GoLand

GoLand 是JetBrains开发的一款付费的 Integrated Development Environment(IDE,集成开发环境),推荐使用。

Untitled 3.png

4. 项目目录

Untitled 4.png

  • module :GO_DEMO_HELLO
  • package:main(主程序)、awesome(完成打印HelloWorld)、awesome_test(单元测试)

5. 编译 & 运行

前置知识

  1. 在 Go 中,模块(module)是软件的分发和版本控制单元。
  2. 在终端通过 go mod init + *{模块名}* ,一般来说,模块名是您希望在 Internet 上下载该模块的位置。由于笔者没有自己的网站 🐸,所以使用 go_demo_hello 来作为模块名。
  3. 在 Go 中,包(package)是一组织抽象(比较像面向对象语言的类库或命名空间),同一个 package 下,可以有非常多 .go 文件(只要这些 go 文件第一行 为 package {同一个包名})。包名和文件夹名可以不一致。
  4. GoRoot 指向安装路径,GoPath 相当于 本地仓库(类比与管理 jar 包的maven本地仓库 )与 构建的可执行文件 所在处(这样说可能不太恰当,但笔者是这么用的,因为我的项目并不放在 GoPath 目录下)。

5.1 Go with Visual Studio Code

  1. 新建 go_demo_hello 文件夹,并使用 vscode 打开。

Untitled 5.png

2 打开终端,输入 go mod init go_demo_hello ,生成 go.mod 文件,完成初始化。

Untitled 6.png

  1. 创建一个名为 awesome 的包(即新键文件夹 awesome),并新建 hello.go

注意:函数名首字母大写,包外才可见

package awesome

func HelloWorld() string {
	return "hello World"
}
  1. 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")
	}
}
  1. GO_DEMO_HELLO 目录下,新建文件 main.go
package main

import (
	"fmt"
	"go_demo_hello/awesome"
)

func main() {
	fmt.Println(awesome.HelloWorld())
}
  1. 终端输入 go run main.go运行程序,关于Vscode 如何调试程序比较复杂,有需要可以参考 tips 2。

Untitled 7.png

5.2 Create a new project with GoLand

  1. 创建项目

Untitled 8.png

Untitled 9.png

Untitled 10.png

go.mod 会自动生成,新键 main.go

Untitled 11.png

Untitled 12.png

  1. 配置项目构建,按默认的就行

Untitled 13.png

  1. 运行,点击 run 按钮

Untitled 14.png

tips

1. 解决 vscode 安装 Go 插件失败

解决办法:使用 gomod 代理

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct

2. vscode 调试设置