1. 常用格式化参数

  1. %v 值的默认格式表示
  2. %+v 类似%v,但输出结构体时会添加字段名
  3. %#v 值的Go语法表示
  4. %T 值的类型的Go语法表示
  5. %% 百分号
  6. %t 单词truefalse
  7. %b 表示为二进制
  8. %c 该值对应的unicode码值
  9. %d 表示为十进制
  10. %o 表示为八进制
  11. %q 该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示
  12. %x 表示为十六进制,使用a-f
  13. %X 表示为十六进制,使用A-F
  14. %U 表示为Unicode格式:U+1234,等价于"U+%04X"
  15. %b 无小数部分、二进制指数的科学计数法,如-123456p-78;参见strconv.FormatFloat
  16. %e 科学计数法,如-1234.456e+78
  17. %E 科学计数法,如-1234.456E+78
  18. %f 有小数部分但无指数部分,如123.456
  19. %F 等价于%f
  20. %g 根据实际情况采用%e或%f格式(以获得更简洁、准确的输出)
  21. %G 根据实际情况采用%E或%F格式(以获得更简洁、准确的输出)
  22. %s 直接输出字符串或者[]byte
  23. %q 该值对应的双引号括起来的go语法字符串字面值,必要时会采用安全的转义表示
  24. %x 每个字节用两字符十六进制数表示(使用a-f
  25. %X 每个字节用两字符十六进制数表示(使用A-F
  26. %p 表示为十六进制,并加上前导的0x

2. 常用方法

2.1. 输出方法

  1. 1. fmt.Print()
  2. Func: Print(a ...interface{}) (n int, err error)
  3. Man: Print采用默认格式将其参数格式化并写入标准输出。
  4. 2. fmt.Println()
  5. Func: Println(a ...interface{}) (n int, err error)
  6. Man: Println采用默认格式将其参数格式化并写入标准输出,末尾添加换行符
  7. 3. fmt.Printf()
  8. Func: Printf(format string, a ...interface{}) (n int, err error)
  9. Man: 格式化输出的字符串

2.2. 输入方法

  1. 1. fmt.Scan()
  2. Func: Scan(a ...interface{}) (n int, err error)
  3. Man: 从标准输入读取内容赋值给指针变量,以空白符分割
  4. 2. fmt.Scanln()
  5. Func: Scanln(a ...interface{}) (n int, err error)
  6. Man: 从标准输入读取内容赋值给指针变量,以换行符分割
  7. 3. fmt.Scanf()
  8. Func: Scanf(format string, a ...interface{}) (n int, err error)
  9. Man: 从标准输入读取内容赋值给指针变量,根据format格式读取

3. 案例

3.1. 读取用户输入

  1. package main
  2. import (
  3. "fmt"
  4. "strings"
  5. )
  6. func main() {
  7. var (
  8. name string
  9. age uint8
  10. )
  11. // 使用Scanln()读取
  12. fmt.Print("请输入姓名:")
  13. fmt.Scanln(&name)
  14. fmt.Print("请输入年龄:")
  15. fmt.Scanln(&age)
  16. fmt.Printf("姓名:%s;年龄:%d\n", name, age)
  17. fmt.Println(strings.Repeat("-",30))
  18. // 使用Scanf()读取
  19. fmt.Println("请依次输入姓名和年龄,用空格分割!")
  20. fmt.Scanf("%s %d\n", &name, &age)
  21. fmt.Printf("姓名:%s;年龄:%d\n", name, age)
  22. }
  1. [root@heyingsheng src]# go run studygo/day03/input/main.go
  2. 请输入姓名:张三
  3. 请输入年龄:19
  4. 姓名:张三;年龄:19
  5. ------------------------------
  6. 请依次输入姓名和年龄,用空格分割!
  7. 李四 20
  8. 姓名:李四;年龄:20