Go 语言中 20 个占位符



在 Go 语言中,占位符用于格式化字符串,并可以在后续的操作中用实际的值替换它们。Go 语言标准库中的 fmt 包提供了多种格式化字符串的方法,其中最常用的是 PrintfSprintf 和 Fprintf

以下是 Go 语言中常用的 20 个占位符及其含义:

  1. %v:默认格式输出值。
  2. %+v:类似 %v,但输出结构体时会包含字段名。
  3. %#v:输出值的 Go 语法表示。
  4. %T:输出值的类型。
  5. %t:输出布尔值的文本表示(true 或 false)。
  6. %b:输出二进制表示。
  7. %d:输出十进制整数。
  8. %o:输出八进制表示。
  9. %x:输出十六进制表示,使用小写字母。
  10. %X:输出十六进制表示,使用大写字母。
  11. %U:输出 Unicode 格式。
  12. %f:输出浮点数。
  13. %e:输出科学计数法表示的浮点数,使用小写字母 'e'。
  14. %E:输出科学计数法表示的浮点数,使用大写字母 'E'。
  15. %g:根据值的大小自动选择 %f 或 %e 格式。
  16. %G:根据值的大小自动选择 %F 或 %E 格式。
  17. %s:输出字符串。
  18. %q:输出带双引号的字符串,如果字符串包含转义字符,则转义它们。
  19. %c:输出字符。
  20. %p:输出指针的十六进制表示。

这些占位符可以与格式化字符串中的其他文本混合使用,以实现复杂的输出格式。例如:

package main  
  
import "fmt"  
  
func main() {  
    name := "Alice"  
    age := 30  
    fmt.Printf("My name is %s and I'm %d years old.\n", name, age)  
}

上面的代码会输出 My name is Alice and I'm 30 years old.,其中 %s 和 %d 分别被 name 和 age 的值替换。