标签:布尔 编译器 必须 变量赋值 并发 垃圾回收 struct 重复 简单
(一)变量的概念
(二)声明变量
Go主要有静态语言、函数多返回值、天生并发、内置GC(自动垃圾回收)、安全性高、语法简单、编译快速。
- 静态语言:编译时变量的数据类型即可确定的语言,要求在使用变量之前必须声明数据类型
var 变量名 变量类型
var(
a int
b string
c []float32
d func() bool
e struct{
x int
y string
}
)
未初始化变量的默认值
- 整型和浮点型变量默认值 0
- 字符串默认值 ""
- 布尔值默认值 false
- 函数、指针变量默认值 null
package main
import "fmt"
func main() {
var (
a int
b string
c float32
d bool
e func() string
f [3]int
)
fmt.Printf("%T %v \n", a, a)
fmt.Printf("%T %v \n", b, b)
fmt.Printf("%T %v \n", c, c)
fmt.Printf("%T %v \n", d, d)
fmt.Printf("%T %v \n", e, e)
fmt.Printf("%T %v \n", f, f)
}
结果:
int 0
string
float32 0
bool false
func() string <nil>
[3]int [0 0 0]
var 变量名 类型 = 表达式
var 变量名 = 表达式
package main
import "fmt"
// 声明全局变量
var n = 10
func main() {
// 短变量初始化
m := 20
fmt.Printf("%T %v \n", m, m)
fmt.Printf("%T %v \n", n, n)
// 为变量赋多个值
a, b, c := "Hello", "World", 100
fmt.Printf("%T %v \n", a, a)
fmt.Printf("%T %v \n", b, b)
fmt.Printf("%T %v \n", c, c)
}
结果:
int 20
int 10
(三)变量多重赋值(多个变量同时赋值)
? Go语法中,变量初始化和变量赋值是两个不同的概念。Go语言的变量赋值与其他语言一样,可以实现变量交换。
(四)匿名变量
package main
import "fmt"
func main() {
// 匿名变量
m,_ := 20,"enen"
fmt.Printf("%T %v \n", m, m)
// 变量互换
x := 100
y := 200
fmt.Println(x, "--", y)
x, y = y, x
fmt.Println(x, "--", y)
}
结果:
100 -- 200
200 -- 100
标签:布尔 编译器 必须 变量赋值 并发 垃圾回收 struct 重复 简单
原文地址:https://www.cnblogs.com/hq82/p/12934179.html