环境
go version go1.10.1 darwin/amd64
基本类型
Go的基本类型有
- bool
- string
- int int8 int16 int32 int64
- uint uint8 uint16 uint32 uint64 uintptr
- byte // unit8的别名
- rune // int32的别名 表示一个Unicode码点
- float32 float64
- complex64 complex128
同导入一样,变量声明也可以"分组"成一个语法块.
int、uint和uintptr在32位系统上通常为32为宽,在63位系统上则为64位宽。当你需要一个整数值时应使用int类型,除非你有特殊的理由使用固定大小或无符号的整数类型。
package main
import (
"fmt"
"math/cmplx"
)
var (
Tobe bool = false
MaxInt uint64 = 1<<64 - 1
z complex128 = cmplx.Sqrt(-5 + 12i)
)
func main() {
const f = "%T(%v)\n"
fmt.Printf(f, Tobe, Tobe)
fmt.Printf(f, MaxInt, MaxInt)
fmt.Printf(f, z, z)
}
运行结果类似如下
bool(false)
uint64(18446744073709551615)
complex128((2+3i))
零值
没有明确初始值的变量声明会被赋予他们"零值"
零值包括
- 数值类型为0
- 布尔类型为false
- 字符串为""(空字符串)
package main
import "fmt"
func main() {
var i int
var f float64
var b bool
var s string
fmt.Printf("%v %v %v %q\n", i, f, b, s)
}
运行后输出如下
0 0 false ""
版权声明
由 durban创作并维护的 小绒毛的足迹博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 博客( https://www.xiaorongmao.com ),版权所有,侵权必究。