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表示字符串


}

  

posted on 2019-05-09 23:06  bainianminguo  阅读(1656)  评论(0编辑  收藏  举报