# Golang 入门程序

# 一、Golang 环境搭建(Mac)

1. 下载 Golang

官网:https://golang.org/

image-20210719164447148

2. 配置环境变量

go env -w GOPROXY="https://goproxy.cn"
go env -w GOSUMDB="sum.golang.google.cn"
vim ~/.zshrc
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
export GOROOT="/usr/local/go"
export GOPATH="/Users/$USER/go"
export GOBIN="$GOROOT/bin"
export PATH="$PATH:$GOBIN"
source ~/.zshrc
  • $USER:需要改为用户名
  • Mac 在 Catalina 版本后默认的 Shell 为 zsh, 配置文件为 ~/.zshrc。如果你使用的是 bash, 对应的配置文件为 ~/.bashrc。 查看自己用的是哪个 shell, 执行 echo $SHELL 即可

3. 检查结果

go version
go env

# 二、Hello World

本篇均使用 GO MODULE 而不使用 GO PATH。

1. 新建一个空目录并进入该目录

mkdir goHelloWorld
cd goHelloWorld

2. 执行 go mod init 初始化 go module

$ go mod init goHelloWorld
go: creating new go.mod: module goHelloWorld

3. 编写 main.go 文件

vim main.go
package main

import (
	"fmt"
)

func main() {
	fmt.Println("Hello World!")
}

4. 编译 Go 项目

go build .

5. 执行 Go 项目

可以看到编译产物 goHelloWorld:

$ ls -l
total 3976
-rw-r--r--  1 bytedance  staff       29  7 19 16:54 go.mod
-rwxr-xr-x  1 bytedance  staff  2023840  7 19 16:56 goHelloWorld
-rw-r--r--  1 bytedance  staff       78  7 19 16:55 main.go

执行:

$ ./goHelloWorld
Hello World!

# 三、Hello World 说明

# 1. package

package main
  • 在同一个包下面的文件属于同一个工程文件,不用import包,可以直接使用
  • 在同一个包下面的所有文件的 package 名,都是一样的
  • 在同一个包下面的文件 package 名都建议设为是该目录名,但也可以不是

# 2. import

import (
	"fmt"
)

上面代码告诉 Go 编译器这个程序需要使用 fmt 包的函数,fmt 包实现了格式化 IO(输入/输出)的函数。

可以是相对路径也可以是绝对路径,推荐使用绝对路径(起始于工程根目录)。

# 3. main

func main() {
	fmt.Println("Hello World!")
}

main() 程序入口,有且只有一个,且必须位于 main 包下。

上次更新: 7/27/2021, 6:41:10 PM