Go 基础语法
Go 基础语法
Go 是一种开源的编程语言,由 Google 开发。它具有简单、快速和高效的特点,适用于构建各种类型的应用程序。
Go 语言的特点:
- 简洁高效:Go 语言的语法很像 C 语言,编写起来又很像 Python,熟悉之后开发效率也很高。
- 并发支持:Go 语言内置了
goroutine(轻量协程) 和channel(通道),使得编写并发程序非常简单。 - 跨平台支持:可以跨平台编译,可以直接在 Windows 上跨平台编译出 linux 系统的可执行文件,目标系统完全不需要安装 go 环境。
- 标准库强大:内置了
http库,可以非常方便的开发web服务。还有加密、json 等这些好用的库。 - 静态类型:在编译器里面编辑的时候,静态语言开发体验很方便,后期方便维护。
一、第一个 Go 程序
1 | package main |
package main— 每个 Go 文件都属于一个包,main包是程序的入口import "fmt"— 引入标准库中的 fmt 包,用于格式化输入输出func main()— 程序执行的入口函数
二、命名
Go 语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode 字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线。
Go 语言中的关键字不能用于命名。Go 语言共有 25 个关键字:
1 | break default func interface select |
此外还有一些预声明的标识符:
1 | 内建常量: true false iota nil |
三、声明
Go 语言中主要有四种声明语句:
- 变量声明:
var - 常量声明:
const - 类型声明:
type - 函数声明:
func
四、变量与常量
Go 语言中要求:
- 变量必须声明后才能使用
- 变量必须使用,否则编译器会报错
- 同一作用域内不能重复声明同名变量
4.1 变量声明
1 | // var 声明 |
4.2 常量声明
1 | const Pi = 3.14159 |
4.3 匿名变量
匿名变量 _ 用于占位,表示我们不关心这个值。
1 | for i := 0; i < 5; i++ { |
4.4 总结
| 声明方式 | 适用范围 | 是否可省略类型 | 是否可批量声明 |
|---|---|---|---|
var |
包级、函数内 | 可(类型推断) | 可 |
:= |
函数内 | 可 | 不可 |
const |
包级、函数内 | 不可 | 可 |
4.4 全局变量与局部变量
4.4.1 全局变量
在函数外部声明的变量,作用域为整个包内,可以被包内所有函数访问。
声明变量只能用 var 或 const ,不能使用 :=。
1 | package main |
4.4.2 局部变量
在函数 func {} 内部声明的变量,作用域仅限于该函数内部,函数外无法访问。
可使用 var、const 或 := 来声明局部变量。
1 | package main |
遮蔽(Shadowing):如果在局部作用域内声明了一个与外部同名的变量,那么在该局部作用域内访问这个变量时,会优先使用局部变量,外部同名变量被遮蔽。