常用的格式化I/O
package main
import (
"fmt"
"os"
)
func main() {
fmt.Print("打印一个值")
fmt.Printf("\n格式化打印值,可以用占位符,比如%s\n", "我是占位符")
fmt.Println("带换行的打印", "可以有多个值")
str := fmt.Sprintf("常用的生成字符串的方法,可以用占位符,比如%d\n", 12)
fmt.Println("拼接后的字符串:", str)
fmt.Fprintf(os.Stdout, "可以输出到io,比如控制台,文件等\n")
}
常用占位符
%v 值的默认格式表示
%T 值的类型的Go语法表示
%% 百分号
%t 单词true或false
%b 表示为二进制
%d 表示为十进制
%o 表示为八进制
%q 该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示
%x 表示为十六进制,使用a-f
%X 表示为十六进制,使用A-F
%e 科学计数法,如-1234.456e+78
%E 科学计数法,如-1234.456E+78
%f 有小数部分但无指数部分,如123.456
%F 等价于%f
%s 直接输出字符串或者[]byte
%p 表示为十六进制,并加上前导的0x
%9f 宽度9,默认精度
%.2f 默认宽度,精度2
%9.2f 宽度9,精度2
%9.f 宽度9,精度0
详情请查找Go的fmt
包
定制输出字符串(类似Java的toString方法)
type myInt int
func (m *myInt) String() string {
return "我是自定义格式的字符串"
}
这样在输出myInt类型的值时,会先尝试调用String()方法