一、Go 语言介绍
Go(Golang) 是 Google 发布于 2009 年的一门静态强类型、编译型语言,Go 的语法与 C 相近,Go 官网对 Go 语言的描述是 Build fast, reliable, and efficient software at scale
既 Go 是一门能够大规模的、快速的构建高效并且可靠的软件。
- Easy to learn and get started with
- Built-in concurrency and a robust standard library
- Growing ecosystem of partners, communities, and tools
使用 Go 语言构建应用的企业有:
Go 语言是一门开源、高效、简介的语言,不仅拥有静态编译语言如 C 语言的安全性和高性能,还拥有动态语言如 Python 的开发速度和易维护性。
Go 是非常有潜力的语言,Go 的应用场景包括 Web 开发、区块链开发、大型游戏服务端开发以及分布式/云计算开发等。
动态类型、静态类型、强类型、弱类型
动态类型
或者静态类型
语言的判断标准是类型检查(检查变量的类型)发生的阶段,动态类型语言的类型检查发生在运行期,静态类型语言的类型检查发生在编译期。
Python 是动态类型语言,我们都只 Python 代码可以直接运行,不需要编译,自然也就没有在编译期检查类型的动作,动态类型中的所有变量的定义不需要显示的声明数据类型,变量赋值发生在运行阶段。
name = "Stark"
age = 21
静态类型语言中所有的变量都必须显示
的声明数据类型,如 Java,如果不声明变量类型,会导致编译失败。
String name = "Stark";
Integer age = 21;
强类型还是弱类型?
强类型语言是指对变量有着较强的类型检查机制,较强的检查机制体现在表达式计算中,如 Python、Java 强类型语言是不支持字符串和数组进行运算的。
name = "Stark"
age = 21
name_age = name + age
print(name_age)
上述代码运行时会报错 TypeError 既类型错误,如果是 Java 语言的字符串和数字进行计算会直接编译失败,因为不能确定计算的结果是字符串还是数字。
弱类型语言则没有较强的类型检查机制,如 Javascript,打开浏览器的控制台,执行以下代码:
var name = "Stark"
var age = 21
var name_age = name + age
console.log(name_age)
最终输出结果是 Stark21,undefined 类型。常见的语言所属类型如下:
- 动态强类型的语言有:Ruby、Python、Groovy
- 静态强类型的语言有:Java、Go、Scala
- 动态弱类型的语言有:Javascript、Perl、PHP
- 静态弱类型的语言有:C、C#
二、Go 开发环境配置
Go 安装
Go 的安装方式有两种,一种是直接通过下载 Go 稳定版的安装包,通过 GUI 进行安装。
Go 官网提供了 Go 安装包的下载,可以根据运行 Go 的系统来下载不同的版本,目前最新的稳定版是 go1.18.3。
这里通过点击安装包下载容易出现报错
可以将下载地址拷贝通过命令行(Mac、Linux)或者其他下载器(Windows)进行下载
wget https://dl.google.com/go/go1.18.3.darwin-amd64.pkg
安装包下载完成之后,点击安装即可
第二种方式是通过 Homebrew 或者 yum/apt-get 命令来安装 Go
安装完成之后可以通过 go version
来查看安装的版本
hostname$ go version
go version go1.18.3 darwin/amd64
可以通过 go help
来查看关于 Go 的命令格式以及可执行的命令
通过 go env -w GOPROXY=https://goproxy.cn,direct
设置国内的代理,可以解决部分包无法下载的问题。
go env
命令可以查看 Go 语言的环境配置
Go IDE 配置
这里使用 Goland 作为 IDE,可以通过 JetBrains 官网下载
下载安装完成后启动 Goland,点击 Settings 设置 GOROOT,既安装 Go 的安装路径,可以通过 go env
来获取。
这里点击 Add SDK —> Local,选择 Go 的安装目录之后,IDE 提示报错如下:
解决这个问题需要修改 Go 安装目录下的 /go/src/runtime/internal/sys/zversion.go
文件,有可能需要给该文件添加编辑权限,添加版本信息。
const TheVersion = `go 1.18.3`
保存之后,再次重新打开 Goland 设置 GOROOT,可以看到安装的 go1.18.3 版本,选中并点击 Apply 即可
三、创建第一个 Go 项目
点击 Create New Project,这里选择 Go Modules 就可以将项目目录创建在任意位置,而不用只能在 GOPATH 目录下。
点击 Create 进入项目目录,创建 Go File,添加如下代码:
// filename: main.go
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}
选中该文件,点击 Run go build main.go
即可运行文件中的代码,这里的运行结果中输出了许多 Go 的配置信息,可以通过设置将这些信息折叠。
点击 Help -> Find Action... -> Registry...,取消选中 run.processes.with.pty
再次运行 main.go 文件,输出结果如下:
Go 的配置信息已经被折叠起来了。