bool
string
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
byte // uint8 的別名
rune // int32 的別名
// 表示一個 Unicode 碼點
float32 float64
complex64 complex128

導圖1.jpg
bool
package main
import (
"fmt"
"unsafe"
)
func main() {
//不可以用0 或者 非0 代替 false 或 true
var b = false
fmt.Println("b=", b)
fmt.Println("b的占用空間 = ",unsafe.Sizeof(b))
}
char
package main
import (
"fmt"
)
func main() {
var c1 byte = 'a'
var c2 byte = '0'
fmt.Println(c1)
fmt.Println(c2)
fmt.Printf("c1 = %c c2 = %c \n", c1, c2)
var c3 int = '白'
fmt.Printf("c3 = %c c3對應的碼值 %d \n", c3, c3)
var c4 int = 22269
fmt.Printf("c4 = %c\n", c4)
// 給變量賦值 格式化輸出是%c,會輸出該數(shù)字對應的Unicode字符
var n1 = 10 + 'a'
fmt.Println("n1=",n1)
//字符類型可以進行運算 運算時按碼值進行
}
// 字符常量用單引號括起來
//go語言 用utf-8 編碼 英文1個字節(jié) 漢字3個字節(jié)
float
package main
import (
"fmt"
)
func main() {
// 位數(shù)部分可能丟失部分精度
var num1 float32 = -123.00000901
var num2 float64 = -123.00000901
fmt.Println(num1)
fmt.Println(num2)
// golang 的浮點型默認聲明為float64
var num3 = 1.1
fmt.Printf("num3 的數(shù)據(jù)類型 %T \n", num3)
num4 := .123
fmt.Println(num4)
num5 := 5.1234e2
fmt.Println(num5)
// 科學計數(shù)法的形式
num6 := 5.1234E-2
fmt.Println(num6)
}
string
package main
import (
"fmt"
)
func main() {
//go的字符串是單個字節(jié)連接起來的
// go 中字符串不可變 一旦賦值字符串無法修改
// 雙引號 "" 會識別轉義字符
// 反引號 `` 以字符串的原生形式輸出 包括換行和特殊字符 可以實現(xiàn)防止攻擊 輸出源碼 等效果
str1 := "abc \nabc"
fmt.Println(str1)
str2 := "hello" + "world" +
"你好" + "世界"
fmt.Println(str2)
}
基本數(shù)據(jù)類型的默認值
| 數(shù)據(jù)類型 | 默認值 |
|---|---|
| int | 0 |
| float | 0 |
| string | "" |
| bool | false |
package main
import (
"fmt"
)
func main() {
var a int
var b float32
var c float64
var israin bool
var name string
fmt.Printf("a=%d,b=%v,c=%v,israin=%v,name=%v", a, b, c, israin, name)
// a=0,b=0,c=0,israin=false,name=
}