一、输出函数
常用有3个:
- fmt.Printf 格式化输出,不能直接输出非字符型数据,必须使用占位符配合输出
- fmt.Print 可直接输出,支持打印数组
- fmt.Println 可直接换行输出,支持打印数组
注:
1、使用前需要先导入fmt包:import "fmt"
2、如果是输出字符串,不能使用单引号,需要使用双引号,否则报错
3、Print、Println、Printf三个函数都支持直接输出数组,Print、Println类似php中的echo函数
二、占位符
占位符 | 作用 |
---|---|
%d | 用于以10进制显示整数类型值 |
%X | 用于以16进制显示整数类型值 |
%f | 用于以通常的方法显示浮点数类型值,不包括指数 |
%E或%e | 用于以带指数部分的表示法显示浮点数类型值,小写e在结果中也显示小写 |
%s | 用于显示字符串类型值 |
%c | 用于显示rune类型值代表的字符 |
%q | 用于显示字符串值的表象值并用双引号包裹 |
%v | 用于显示逻辑值、数组值、切片值 |
%q | 用于显示双引号包裹的字符串 |
%T | 用于输出数据类型 |
%d 用于以10进制显示整数类型值
例如:
var (
yyy1 int = 123
xxx1 int = 456
)
fmt.Printf("yyy1 = %d, xxx1 = %d\n", yyy1, xxx1)
显示效果:yyy1 = 123, xxx1 = 456
%X 用于以16进制显示整数类型值
例如:
var num1 int = -0x1000
fmt.Printf("16进制数 %X 表示的是 %d。\n", num1, num1)
显示效果:16进制数 -1000 表示的是 -4096
%f 用于以通常的方法显示浮点数类型值,不包括指数
例如:
var num2 float32 = 5.89E-4
fmt.Printf("浮点数 %E 表示的是 %f。\n", num2, num2)
显示效果:浮点数 5.890000E-04 表示的是 0.000589
%E 用于以带指数部分的表示法显示浮点数类型值
例子同上。
小写%e显示效果:浮点数 5.890000e-04 表示的是 0.000589
%s 用于显示字符串类型值
yang := "阳阳阳" // :=为推导运算符,在编译的时候自动辨别变量类型,此处编译后为字符型变量
fmt.Printf("推导定义yang = %s\n", yang)
%c 用于显示rune类型值代表的字符
例如:
var sex rune = '男'
fmt.Printf("字符 '%c' 的Unicode代码点是:%s\n", sex, "U+7537")
显示效果:字符 '男' 的Unicode代码点是:U+7537
%q 用于显示字符串值的表象值并用双引号包裹
例如:
// 声明一个string类型变量并赋值
var str1 string = "\\\"" //如果有转义字符,用双引号即可,如果没有,用反引号`
// 这里用到了字符串格式化函数。其中,%q用于显示字符串值的表象值并用双引号包裹。
fmt.Printf("用解释型字符串表示法表示的 %q 所代表的是 %s \n", str1, `\"`)
显示效果:用解释型字符串表示法表示的 "\\\""
所代表的是 \"
%v 用于显示逻辑值、数组值、切片值
var a,b int8 = 1,3
fmt.Printf("a与b是否相等,结果为:%v\n", a==b)
显示效果:a与b是否相等,结果为:false
s := []int {1, 2, 3}
fmt.Printf("我是切片s,长度len为:%d,容量cap为:%d,值为:%v\n", len(s), cap(s), s)
显示效果:我是切片s,长度len为:3,容量cap为:3,值为:[1 2 3]
%q 用于显示双引号包裹的字符串
例如:
fmt.Printf("小明说:%q", "Go语言是世界上最好的语言")
显示效果:小明说:"Go语言是世界上最好的语言"
%T 用于输出数据类型
例如:
var a uint8 = 111
fmt.Printf("a的数据类型为:%T", a);
显示效果:a的数据类型为:uint8
网友评论