Go 语言基础语法
Go 语言是由谷歌开发的一种静态强类型、编译型的开源编程语言。它在语法上借鉴了 C 语言,同时也吸收了诸如垃圾回收、内存安全等现代编程语言的特性。以下是 Go 语言的基础语法介绍:
1. 程序结构
一个简单的 Go 程序结构如下:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
package main
: 定义一个可独立执行的包,main
包是一个特殊的包,它定义了一个可执行的程序。import "fmt"
: 导入fmt
包,fmt
是格式化 I/O 的标准库。func main()
: 定义程序的入口点,main
函数。
2. 变量
Go 使用 var
关键字定义变量,类型名写在变量名之后:
var a int
var b string
你也可以在声明时初始化变量:
var a int = 10
var b string = "Hello"
如果你省略类型,Go 会根据赋值自动推导类型:
var a = 10
var b = "Hello"
使用短变量声明,可以在函数内部使用 :=
声明和初始化变量:
a := 10
b := "Hello"
3. 常量
常量使用 const
关键字声明:
const Pi = 3.14
4. 数据类型
Go 语言的基本类型包括:
- 布尔型:
bool
- 整型:
int
,int8
,int16
,int32
,int64
,uint
,uint8
,uint16
,uint32
,uint64
,uintptr
- 浮点型:
float32
,float64
- 复杂数:
complex64
,complex128
- 字符串:
string
- 字符:
rune
(等同于int32
) - 字节:
byte
(等同于uint8
)
5. 结构体
结构体是用户自定义的复杂数据类型:
type Person struct {
Name string
Age int
}
6. 数组和切片
数组:
var arr [5]int
切片(动态数组):
var slice []int
slice = append(slice, 1, 2, 3)
7. 映射(Map)
映射是键值对的集合:
var m map[string]int
m = make(map[string]int)
m["key"] = 10
8. 控制结构
Go 支持经典的控制结构:if
、for
和 switch
。
// if
if a > 5 {
fmt.Println("a is greater than 5")
}
// for
for i := 0; i < 10; i++ {
fmt.Println(i)
}
// switch
switch day {
case 1:
fmt.Println("Monday")
case 2:
fmt.Println("Tuesday")
default:
fmt.Println("Another day")
}
9. 函数
函数可以有多个返回值:
func add(x int, y int) int {
return x + y
}
func swap(a, b string) (string, string) {
return b, a
}
10. 指针
Go 支持指针,每个变量在内存中有一个地址:
var a int = 10
var p *int = &a
fmt.Println(*p) // 通过指针读取变量的值
通过这些基础语法,您可以在 Go 语言中构建简单和复杂的应用程序。由于 Go 强调并发性和友好的语法,它在构建网络服务和处理并发任务方面非常高效。