类型转换
- Go语言中没有隐式类型转换,类型转换都是显式的强制转换。
- 强制类型转换只能在两个类型之间支持相互转换的时候使用。
- 注意:浮点数转整型时,小数点后的数据会丢失
package main
import "fmt"
func main() {
n1 := 10
n2 := 1.2
n3 := float64(n1) + n2
fmt.Println(n3)
}
fmt包的Print系列函数
Printf函数
- Printf接受的第一个参数总数字符串,第二个参数是表达式,而字符串中可以包含格式化变量,包含的格式化变量会被替换成表达式的值。
格式化占位符
占位符 | 描述 |
---|
%v | 值的默认格式表示 |
%T | 打印值的类型 |
%% | 百分号 |
占位符 | 描述 |
---|
%b | 表示为二进制 |
%c | 该值对应的unicode码值 |
%d | 表示为十进制 |
%o | 表示为八进制 |
%x | 表示为十六进制,使用a-f |
%X | 表示为十六进制,使用A-F |
%f | 有小数部分但无指数部分,如123.456, 同%F |
%U | 表示为Unicode格式:U+1234,等价于”U+%04X” |
%q | 该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示 |
| 直接输出字符串或者[]byte |
- 宽度标识符:
- 宽度通过一个紧跟在百分号后面的十进制数指定,如果未指定宽度,则表示值时除必需之外不作填充。精度通过(可选的)宽度后跟点号后跟的十进制数指定。如果未指定精度,会使用默认精度;如果点号后没有跟数字,表示精度为0
占位符 | 描述 |
---|
%f | 默认宽度,默认精度 |
%9f | 宽度9,默认精度 |
%.2f | 默认宽度,精度2 |
%9.2f | 宽度9,精度2 |
%9.f | 宽度9,精度0 |