用途
fmt包用于实现读写操作,以及格式化字符串表达,具体使用方式如下:
输出
可通过Printf,Print以及Println函数实现向控制台输出指定内容。
首先介绍下最常用的Printf函数,包含两个参数,分别代表格式以及输出的内容。举个例子:
1
2
3
4
5
6
7
8
| package main
import "fmt"
func main() {
var a int = 3
fmt.Printf("this is a example, a = %d\n", a)
}
|
熟悉C语言的,能够发现这个部分的代码和stdio.h库中的printf函数相似。使用此函数主要需要了解不同占位符以及转义所代表的意义,因此本部分将主要介绍此类内容。我们用%d来表示这个位置数据的类型是整数类型;\n是转义符,表示回车。不同类型与其占位符的对应关系如下:
1
| %d => int %f => float %t => bool %s => string %p => 引用类型(地址)
|
对于一些不确定的值,可以用%v来代替,例如结构体、字典、切片以及数组,均可以使用%v来输出内容。
如果想要输出变量的类型,可使用%T来实现,例如:
1
2
3
4
5
6
| import "fmt"
func main() {
var arr = []int{1, 2, 3}
fmt.Printf("%T\n", arr)
}
|
其输出结果是[]int
转义符以及其代表的含义可见如下内容:
| 转义符 | 含义 |
| \n | 换行符 |
| \r | 回车符 |
| \t | 制表符 |
| \' | 单引号 |
| \" | 双引号 |
| \\ | 反斜杠 |
格式化占位符
通用占位符
1
2
3
4
| %v => 值的默认格式表示
%+v => 类似%v,但输出结构体时会添加字段名
%#v => 值的Go语法表示
%T => 打印值的类型
|
数值类型占位符
整数
1
2
3
| %b => 二进制 %c => 该值对应的unicode码值
%d => 十进制 %x => 表示为十六进制,使用a-f
%o => 八进制 %X => 表示为十六进制,使用A-F
|
浮点数
1
2
| %b => 二进制 %e/%E => 科学计数法
%f => 有小数部分但无指数部分
|
字符串和[]byte
1
2
3
4
| %s => 直接输出字符串或者[]byte
%q => 该值对应的双引号括起来的go语法字符串字面值
%x => 每个字节用两字符十六进制数表示,适用a-f
%x => 每个字节用两字符十六进制数表示,适用A-F
|
输入
可通过Scan,Scanf,Scanln