Go的基本介绍与配置
Go: Less can be more
什么是Go
Go语言简介
Go(Golang)
是由谷歌开发的一个开源的编译型的静态语言。Go是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Go
是从2007年末由Robert Griesemer
, Rob Pike
, Ken Thompson
主持开发,后来还加入了Ian Lance Taylor
, Russ Cox
等人,并最终于2009年11月开源,在2012年早些时候发布了GO 1
稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
Go
的主要关注点是使得高可用性和可扩展性的Web应用
的开发变得简便容易。(译注:Go
的定位是系统编程语言,只是对 Web
开发支持较好)。
Go语言的设计初衷
2007年,受够了C++
煎熬的 Google
首席软件工程师 Rob Pike
纠集Robert Griesemer
和Ken Thompson
两位牛人,决定创造一种新语言来取代C++
。
根据Google
当时内部的一些实际情况,比如大部分工程师使用的都是C
语言,所以新设计的语言最好跟C语言
类似,而且要简单易学。另外,因为已经有二十年左右的时间没有出现新的编程语言了,所以新设计的语言一定要足够现代化(例如内置GC
),因此才出现了现在的Go
语言。
在Go
语言问世后,很多人将它称为 21 世纪的C
语言,因为Go
语言不仅拥有C
语言的简洁和性能,还拥有媲美解释型语言的开发效率以及近乎于完美的编译速度,同时还很好的提供了 21 世纪互联网环境下服务端开发的各种实用特性。
Go语言的主要特征
- 自动立即挥手
- 更丰富的内置类型
- 函数多返回值
- 错误处理
- 匿名函数和闭包
- 类型和接口
- 并发编程
- 反射
- 语言交互性
- 简洁、快速、安全
- 并行、有趣、开源
- 内存管理、数组安全、编译迅速
Go语言的声明
1. Go语言主要有四种声明方式
- 声明变量
var
- 声明常量
const
- 声明类型
type
- 声明函数
func
2. Go语言的文件是以.go
后缀进行命名
3. Go文件的第一行是package
声明,声明当前文件所属的包
4. import
声明用于引入其他文件
5. main
函数,程序的入口函数
配置Go
安装Go编译器
安装go
的编译器在网上有很多教程,下面我会展示在Mac
上安装的方式。
首先访问Go下载官网,下载合适的版本,本文安装的版本是go1.18.2.darwin-amd64.pkg
,傻瓜式安装即可。你也可以使用homebrew
进行安装,或者使用二进制包进行安装,这里就不展开说了。
配置Go环境变量
安装完成后,我们需要配置Go
的环境变量。如果你使用的是bash
,只需要编辑.bash_profile
即可,如果你用的是zsh
,编辑.zshrc
即可,他们都在~
目录,即当前用户目录。配置以下环境变量即可。
#配置go的安装目录,使用pkg安装会安装在该目录
export GOROOT=/usr/local/go
#配置工作空间,选择你自己的目录
export GOPATH=/User/[你的用户名]/go
#配置工作空间可执行文件的目录(可不配置)
export PATH=$PATH:$GOPATH/bin
配置完成保存后,需要运行以下命令使环境生效。
#bash
source ~/.bash_profile
#zsh
source ~/.zshrc
运行go version
命令,显示出go
的版本说明配置成功了。我们也可以通过go env
命令查看go
的环境变量。
Go Module
从go 1.11
开始,我们可以基于Go Module
在任意位置创建Go
项目,不需要局限在工作空间中,也意味着我们不用再一遍一遍配置环境变量。要创建Module
工程,我们只需要简单的命令即可。
#设置module模式开启
go env -w GO111MODULE=on
#设置代理为七牛云模块代理
go env -w GOPROXY=https://goproxy.cn,direct
#创建project1目录并进入该目录
mkdir project1 && cd project1
#初始化project1
go mod init project1
运行命令后,目录下会产生一个go.mod
的文件,该文件是Go语言工具链用于管理Go语言项目的一个配置文件,我们不需要去修改它,Go的工具链会帮我们自动更新,例如引用新的库。
配置编辑器
在开始写代码前,我们需要一个编辑器来编程。我使用的是vscode
,那么我们还需要给vscode
安装一些关于Go
的插件。
首先我们在扩展中搜索go
,如下图进行安装即可。
安装好Go
插件后,我们还需安装一些Go
的工具。Command+Shift+P
打开命令面板,然后输入Go:Install/Update Tools
,回车后,将展示出的所有工具选择安装。
如果遇到go: could not create module cache: read-only file system
,可以打开Mac
的终端手动运行控制台的命令。
编写HelloWorld
到这里,我们已经完成了Go
的配置,那么我们就来写第一个Go
的程序吧。首先,先创建第一个程序的目录。
#创建项目目录并进入
mkdir myfirstproject && cd myfirstproject
#初始化module
go mod init myfirstproject
#创建main.go文件
touch main.go
我们可以在终端使用vim
进行代码编写,也可以在vscode
中进行代码编写。
//所属包
package main
//引入fmt包
import "fmt"
//main函数,程序的入口
func main(){
//打印Hello World!
fmt.Println("Hello World!")
}
代码编写完后,我们打开一个终端,输入命令go run main.go
,输出Hello World!
。
我们的第一个Go
程序就编写完毕了。