Contents

go标准库-Fmt

go语言中文网

godoc

go语言中文网有很多文档缺少内容比如string.Builder就没有,godoc绝对详尽,推荐阅读godoc

fmt godoc官方文档

常用输出格式

通用输出

  • %v:默认,%+v添加结构体字段名
  • %#v:类似python中repr的源代码go定义语句
  • %T:数据类型
  • 在%后面添加数字表示输出填充最小长度,比如%3f表示输出至少包含3个字符
  • %p:数据地址

Integer

  • %b:二进制格式
  • %c:Unicode格式字符
  • %d:十进制
  • %o:八进制
  • %O:带0o前缀的八进制
  • %x:小写十六进制
  • %X:大写十六进制
  • %U:带U+前缀的Unicode格式字码
  • %q:带上单引号的Unicode格式字符

String 和 slice of bytes

  • %q:带双引号的字符串

Floating-point

  • %f:类似%v,但是可以规定有效小数位数,比如%3.3f表示保留3位小数
  • %e:带e的科学计数法,如-1.234456e+78
  • %E:带E的科学计数法,如-1.234456E+78

获取输入

可以使用Scanf,但是Scanln会出问题

读取行尽量使用 bufio.Reader

1
2
reader := bufio.NewReader(os.Stdin)
strBytes, hasMore, err := reader.ReadLine()

函数

  • func Printf(format string, a …any) (n int, err error):这里的n是成果解析的变量个数
  • func Println(a …any) (n int, err error):这里的n是返回的字节数

printf系列函数可以使用反引号

1
2
3
4
5
6
7
8
9
package main

import (
	"fmt"
)

func main() {
	fmt.Printf(`aaa%s`, "bbb")
}
 |