Go 快速入门指南 - 零值
概述
当一个变量使用 var 进行声明后并未进行初始化 (变量后面没有赋值符 =) 操作,会默认分配一个零值 (zero value)。
不同类型对应的零值
| 类型 | 零值 |
|---|---|
| bool | false |
| int | 0 |
| float | 0 |
| string | “” |
| byte (uint8) | 0 |
| pointer | nil |
| func | nil |
| interface | nil |
| slice | nil |
| channel | nil |
| map | nil |
例子
bool 类型
package main
import "fmt"
func main() {
var b bool
fmt.Printf("b = %t\n", b)
}
// $ go run main.go
// 输出如下
/**
b = false
*/
byte 类型
package main
import "fmt"
func main() {
var b byte
fmt.Printf("b = %c\n", b)
}
// $ go run main.go
// 输出如下
/**
b =
*/
func 类型
package main
import "fmt"
func main() {
var f func()
fmt.Printf("f = %v\n", f)
}
// $ go run main.go
// 输出如下
/**
f = <nil>
*/
channel 类型
package main
import "fmt"
func main() {
var ch chan bool
fmt.Printf("ch = %v\n", ch)
}
// $ go run main.go
// 输出如下
/**
ch = <nil>
*/
联系我

本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: