一、变量与数据类型
在Go语言中,声明变量可以使用var关键字,也可以使用简短声明符号:=。Go是静态类型语言,需要在声明变量时指定其数据类型。
1. 声明变量:
var age int // 声明一个int类型的变量age
var name string // 声明一个string类型的变量name
2. 简短声明:
age := 30 // 声明并初始化一个int类型的变量age
name := "John" // 声明并初始化一个string类型的变量name
3. 常量:
const pi = 3.14 // 声明一个常量pi
二、流程控制 Go语言支持if语句、for循环和switch语句等流程控制结构。
1. if语句:
if age >= 18 {
fmt.Println("成年人")
} else {
fmt.Println("未成年人")
}
2. for循环:
for i := 0; i < 5; i++ {
fmt.Println(i)
}
3. switch语句:
day := 3
switch day {
case 1:
fmt.Println("周一")
case 2:
fmt.Println("周二")
default:
fmt.Println("其他")
}
三、函数 函数是Go语言的基本组成单元,使用关键字func定义函数。
1. 定义函数:
func add(a, b int) int {
return a + b
}
2. 多返回值:
func swap(a, b int) (int, int) {
return b, a
}
四、结构体与方法 结构体是一种复合的数据类型,可以封装多个字段。Go语言中,结构体的字段使用点号访问。
1. 定义结构体:
type Point struct {
X, Y int
}
2. 结构体方法:
func (p Point) Distance() float64 {
return math.Sqrt(float64(p.X*p.X + p.Y*p.Y))
}
五、接口 接口是一种抽象类型,定义了一组方法的签名。实现了接口中所有方法的类型称为实现了该接口。
1. 定义接口:
type Shape interface {
Area() float64
Perimeter() float64
}
2. 实现接口:
type Rectangle struct {
Width, Height float64
}
func (r Rectangle) Area() float64 {
return r.Width * r.Height
}
func (r Rectangle) Perimeter() float64 {
return 2 * (r.Width + r.Height)
}