07. 基本类型
2017-08-10 本文已影响114人
厚土火焱
Go语言的基本类型有
bool
string
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
byte //uint8的别名
rune //uint32的别名,代表一个unicode码
float32 float64
complex64 complex128
这些类型中 int uint uintptr根据运行的系统不同,在32位的系统上是32位的,在64位的系统上是64位的。
当你需要使用一个整数类型时,你应该首选 int,仅当有特别的理由才使用定长整数类型或者无符号整数类型。
变量语法块
var(
Tobe bool = false
Maxint uint64 = 1<<64 - 1
z complex128 = cmplx.Sqrt(-5 + 12i)
)
仔细比较完整代码中 Println 和 Printf 的不同。
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.Println(f, Tobe, Tobe)
fmt.Println(f, Maxint, Maxint)
fmt.Println(f, z, z)
fmt.Printf(f, Tobe, Tobe)
fmt.Printf(f, Maxint, Maxint)
fmt.Printf(f, z, z)
}
运行结果
%T(%v)
false false
%T(%v)
18446744073709551615 18446744073709551615
%T(%v)
(2+3i) (2+3i)
bool(false)
uint64(18446744073709551615)
complex128((2+3i))
很明显,Println只是输出了字符串或者变量值,Printf在输出变量的时候对变量进行了格式化。