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表示字符串
}
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号