书接上回,上回说到了为什么要学习Go语言,今天我们来实际写一下,感受一下Go语言的精美之处。
1.2 环境搭建
1.2.1 安装和设置
1.2.1.1 Windows:
- Go安装包下载网址:https://golang.org/dl/
- 有zip压缩版和msi安装版两个按本下载。(这里使用msi安装版,比较方便)。
- 运行msi安装文件,千万不要在安装路径中出现中文,一路Next。
- 由于使用msi安装文件,Go语言的环境变量已经自动设置好了。
打开Windows中的命令提示符(cmd.exe)执行命令:
查看版本 go vresion
查看环境 go env
1.2.1.2 MacOs
方法一:官网下载安装包,比较快
方法二:brew install go
添加环境变量
//编辑~/.bash_profile文件
vim ~/.bash_profile
//在~/.bash_profile文件中添加:
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export PATH="/Users/teemo/go/bin:$PATH"
//使配置生效
localhost:~ zxy$ source ~/.bash_profile
1.2.1.3 Linux
wget $tar -xvf go1.16.1.linux-amd64.tar.gz
设置环境变量
$vim /etc/profile
添加
export GOROOT=/data/work/go
export GOPATH=/data/work/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source /etc/profile
go version
1.2.2 标准命令概述
Go语言中包含了大量用于处理Go语言代码的命令和工具。
其中,go命令就是最常用的一个,它有许多子命令。
这些子命令都拥有不同的功能,如下所示:
- build:用于编译给定的代码包或Go语言源码文件及其依赖包。
- clean:用于清除执行其他go命令后遗留的目录和文件。
- doc:用于执行godoc命令以打印指定代码包。
- env:用于打印Go语言环境信息。
- fix:用于执行go tool fix命令以修正给定代码包的源码文件中包含的过时语法和代码调用。
- fmt:用于执行gofmt命令以格式化给定代码包中的源码文件。
- get:用于下载和安装给定代码包及其依赖包(提前安装git或hg)。
- list:用于显示给定代码包的信息。
- run:用于编译并运行给定的命令源码文件。
- install:编译包文件并编译整个程序。
- test:用于测试给定的代码包。
- tool:用于运行Go语言的特殊工具。
- version:用于显示当前安装的Go语言的版本信息。
1.2.3 选择编辑器
- 首选GoLand,破解问题自行百度或私信我,也可以氪金。
- 其次VSCode。
- 剩余编辑器首选vim,其他编辑器哪个顺手用哪个。
我用的是GoLand,看一下配置:
主要是go mod中添加代理:GOPROXY=https://goproxy.io
go mod就是包管理工具,加代理是为了下载海外包更快。
1.3 hello world
每个语言入门的标志不就是会写hello world么?
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World!")
}
main旁边有个运行,直接点击运行就好了。
好了,恭喜入门,撒花!!
1.3.1 代码分析
// 定义包, 一个程序通常只有一个main包,作为程序的入口
package main
// 导入包,这里导入fmt包
import "fmt"
// 通过func关键字定义函数
// 这里定义的是程序的入口函数main, 程序从这个函数开始执行
func main() {
// 调用fmt包的Println函数,打印一个字符串。
fmt.Println("Hello, world")
}
可以看出,和C的风格真的很像很像。
//导入包
//主函数
int main()
{
//打印
printf("Hello World");
return 0;
}
不同的是,GO的创始人就是喜欢换行的括号风格,如果你像C这样使用花括号,则会报语法错误。这也许就是程序员的浪漫吧。
我们也可以试试命令编译执行该程序。
或者直接运行, 不编译生成可执行文件。
结语
如果有不对的地方欢迎指正。
如果有不理解的地方欢迎指出我来加栗子。
如果感觉OK可以点赞让更多人看到它。