【Go基础语法|青训营】

100 阅读1分钟

一、变量与数据类型

在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)
}