0. 前面的话
本文章为Go语言初学者的帮助教程,旨在帮助读者快速掌握Go编程语言的基础知识和常用特性。
Go语言,也被称为Golang,是一门由Google开发的现代编程语言,以其简洁、高效和强大的特性受到了广泛的关注和应用。
Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。
对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。
1. 安装和设置
在学习Go语言之前,首先需要进行安装和设置,以确保你的开发环境能够正确地支持Go编程。以下是详细的步骤和注意事项:
-
下载Go安装包:
前往Go官方网站(go.dev/dl/)下载适合自己操作系统的安装包。Go支持多种操作系统,包括Windows、macOS和各种Linux发行版。选择与你操作系统和架构匹配的安装包。
-
安装Go:
根据你的操作系统选择的安装包,进行相应的安装步骤。在大多数情况下,只需双击安装包并按照提示进行操作即可完成安装。
-
设置环境变量:
安装完成后,需要设置Go的环境变量,以便在终端或命令行中使用Go命令。在Windows系统中,你需要将Go的安装目录(通常是
C:\Go
)添加到系统的PATH
环境变量中。在macOS和Linux系统中,你需要将Go的安装目录添加到你的shell配置文件(如
.bashrc
或.zshrc
)中。设置好环境变量后,你就可以在终端中运行Go命令了。 -
验证安装:
打开终端或命令行,输入
go version
命令,查看Go的版本信息。如果显示了正确的版本号,说明安装成功。 -
创建工作目录:
在开始编写Go代码之前,你可能希望创建一个专门用于存放Go项目的工作目录。在这个目录中,你可以组织你的代码文件、依赖和其他资源。
-
选择代码编辑器或集成开发环境(IDE) :
选择一个适合你的代码编辑器或IDE,以便开始编写Go代码。一些流行的选择包括Visual Studio Code(VSCode)与GoLand等。
-
Hello World! :
现在,你已经完成了Go的安装和设置,可以尝试编写你的第一个Go程序了。创建一个新的Go源文件,命名为
hello.go
,然后输入以下代码:package main import "fmt" func main() { fmt.Println("Hello, World!") }
保存文件后,在终端中进入文件所在目录,运行以下命令:
go run hello.go
如果看到输出了
Hello, World!
,那么恭喜你,你已经成功地安装、设置和运行了你的第一个Go程序!
安装和设置是开始学习任何编程语言的第一步,正确地完成这些步骤能够为你的Go编程之旅奠定坚实的基础。在接下来的学习中,你将逐渐了解更多关于Go语言的基础知识和特性。
2. 基础语法
2.1. 包和导入
- 在Go语言中,其程序由包(Packages)组成,每个文件都属于一个包。
- 其中
main
包是程序的入口,包含了main()
函数。 - 使用
import
关键字导入其他包。
在上述的Hello.go
的程序中,所导入的fmt
包实现了格式化 IO(输入/输出)的函数。
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
2.2. 变量和数据类型:
- 使用
var
关键字声明变量,Go会自动推断变量类型。 - 基本数据类型包括整型、浮点型、布尔型、字符串等。
- 使用
:=
简化变量声明和赋值。
对于Go语言的变量声明,相比于传统语言的变量声明,Go语言最大的特点是可以选择省略变量类型,编译器可以根据右侧的值自动推断出变量的类型,这极大的方便了我们的开发,同时由于其变量声明有别于其他语言的变量类型+变量名,Go语言是相反的,因此省略变量类型的写法也可以方便其他语言的程序员快速上手Go语言。
//指明变量类型的变量定义方法
var a string = "Hello, World!"
var b int = 19260817
var c bool = true
//不指明变量类型的变量定义方法
var a = "Hello, World!"
var b = 19260817
var c = true
//简化变量定义方法
a := "Hello, World!"
b := 19260817
c := true
2.3. 常量
- 使用
const
关键字声明常量。 - 常量的值在编译时确定,不能被修改。
Go语言中常量的声明与其他语言不太相同,需要使用const
关键字替换var
关键字,其他部分与变量相差不大。
const a string = "Hello, World!"
const b int = 19260817
const c bool = true
2.4. 控制流
- 使用
if
、else
、switch
进行条件判断。 - 使用
for
进行循环,支持for
、while
、do-while
三种风格。 break
和continue
用于循环控制。
对于分支语句if,Go语言和其他语言类似,唯一不同的是对于判断条件部分不需要用小括号包裹起来。而switch分支语句与其他语言略有不同,在Go语言中,不需要添加break,默认执行对应的case语句后退出。
//if-else用法示例
if 7 % 2 == 0 {
fmt.Printlen("7 is even")
} else {
fmt.Printlen("7 is odd")
}
//switch用法示例
a := 2
switch a {
case 1:
fmt.PrintIn("one")
case 2:
fmt.PrintIn("two")
case 3:
fmt.Printin("three")
case 4,5:
fmt.Println("four or five")
default:
fmt.PrintIn("other")
而对于循环语句,Go语言中没有其他传统语言中的while循环,但其for循环功能十分强大,支持while循环的书写风格。
//传统 for 循环
for i := 1; i <= 10; i++ {
fmt.Println(i)
}
// while 循环风格书写
i := 1
for i <= 10 {
fmt.Println(i)
i++
}
2.5. 函数
- 使用
func
关键字定义函数,可以接收参数并返回值。 - 支持多返回值。
- 函数也可以作为一种类型,用于高阶函数的实现。
在Go语言中,使用func
关键字声明一个函数,函数声明的语法与其他语言略有差异,与基本的变量定义相同,Go语言中,函数的返回类型置于函数名和传递参数之后,需要多加留意。
// 基本函数定义方法
func function_name( [parameter list] ) [return_types] {
函数体
}
由于篇幅有限,本篇文章先就此打住,后续复合数据类型相关的知识还请见Go 语言入门指南:基础语法和常用特性解析(下),谢谢!