1、數據類型
package main import ( "fmt" "reflect" ) func main() { //整形 var v1 int32 v1 = 123 v2 := 64 fmt.Println(v1,v2,reflect.TypeOf(v2)) //123 64 int //浮點型 var f1 float32 f1 = 12 f2 := 12.0 fmt.Println(f1,f2,reflect.TypeOf(f2)) //12 12 float64 //布爾型 var b1 bool b1 = true b2 := (1==2) fmt.Println(b1,b2,reflect.TypeOf(b2)) //true false bool //字符型,用單引號 var ch byte ch = 'a' fmt.Println(ch,reflect.TypeOf(ch)) //97 uint8 fmt.Printf("ch = %c",ch) //ch = a //字符串,用雙引號 var s1 string s1 = "test" fmt.Println(s1,reflect.TypeOf(s1)) //反引號,原樣輸出 s2 := `test \n \r xx` fmt.Println(s2,reflect.TypeOf(s2)) //test \n \r xx string } //基本的數據類型 //u開頭是無符號的類型 //8 16 32最大的作用是增加可移植性和可維護性
2、格式化輸出
%b-------------二進制
%c-------------字符型
%t--------------布爾型
%s-------------字符串型
%f-------------浮點型
%g------------緊湊型的浮點型
%d-----------數字型
%p-----變量的內存地址
%T-----變量的類型
package main import "fmt" func main() { a := []int {1,2,34} fmt.Printf("%p--->%T",a,a) //0x1f446070--->[]int }
----------------------------------------------------------------------------------------------
package main import "fmt" func main() { a := 15 fmt.Printf("a = %b\n",a) //a = 1111 //%b是二進制 //如果想輸出一個%,則需要這么處理 fmt.Printf("%%\n") //% //字符 ch := 'a' fmt.Printf("ch = %c,%c\n",ch,97) //ch = a,a //%c是字符型 fmt.Printf("ch = %d\n",10) //%d表示數字 f := 3.14 fmt.Printf("f = %f,%g\n",f,f) //f = 3.140000,3.14 //%f是正常的浮點數 //%g是浮點數的緊湊的表達形式 fmt.Printf("%t,%t\n",true,false) //true,false //%t表示布爾值 s := "hello world" fmt.Printf("%s\n",s) //hello world //%s表示字符串 }