Go 的基本语法-声明和使用变量

2023-04-20 16:25:53 浏览数 (1)

在 Go 中,声明变量的方式有两种:var 和 :=。其中 var 用于声明变量,:= 用于声明并初始化变量。

使用 var 声明变量:

代码语言:javascript复制
var 变量名 类型 = 值

例如:

代码语言:javascript复制
var age int = 18
var name string = "Tom"

使用 := 声明并初始化变量:

代码语言:javascript复制
变量名 := 值

例如:

代码语言:javascript复制
age := 18
name := "Tom"

Go 是一门静态类型语言,因此在声明变量时需要指定变量的类型。如果没有指定变量的类型,则会根据变量的值自动推断类型。

例如:

代码语言:javascript复制
var a = 10 // 自动推断类型为 int
var b = "hello" // 自动推断类型为 string

也可以使用多个变量一起声明和初始化:

代码语言:javascript复制
var age, height int = 18, 180
var name, gender = "Tom", true

在 Go 中,变量的类型可以是基本类型、结构体、数组、切片、字典、函数等。声明和初始化不同类型的变量的语法也不同,下面是一些例子:

代码语言:javascript复制
// 声明和初始化结构体类型的变量
type Person struct {
    name string
    age  int
}
var p1 Person = Person{"Tom", 18}
var p2 Person = Person{name: "Jack", age: 20}

// 声明和初始化数组类型的变量
var a1 [5]int = [5]int{1, 2, 3, 4, 5}
var a2 = [5]int{1, 2, 3, 4, 5}

// 声明和初始化切片类型的变量
var s1 []int = []int{1, 2, 3, 4, 5}
var s2 = []int{1, 2, 3, 4, 5}

// 声明和初始化字典类型的变量
var m1 map[string]int = map[string]int{"Tom": 18, "Jack": 20}
var m2 = map[string]int{"Tom": 18, "Jack": 20}

// 声明和初始化函数类型的变量
func add(a, b int) int {
    return a   b
}
var f1 func(int, int) int = add
var f2 = add

在 Go 中,变量的作用域是在声明它的代码块内。如果在函数内部声明的变量,它只在该函数内部可见。如果在函数外部声明的变量,则可以被整个包使用。

go

0 人点赞