go 语言中的占位符详解

在 Go 语言的 fmt 包中,占位符用于格式化输出,允许在输出时插入变量的值。以下是一些常用的占位符及其用法:

  1. 通用占位符

    • %v:按照值的默认格式输出。
    • %+v:输出结构体时,会添加字段名。
    • %#v:输出 Go 语法表示的值。
    • %T:输出变量的类型。
    • %%:输出百分号。
  2. 布尔值占位符

    • %t:格式化布尔值。
  3. 整数占位符

    • %b:以二进制形式输出。
    • %c:输出字符。
    • %d:以十进制形式输出。
    • %o:以八进制形式输出。
    • %x:以十六进制形式输出,字母小写。
    • %X:以十六进制形式输出,字母大写。
    • %U:Unicode 格式输出。
  4. 浮点数占位符

    • %e:科学计数法,小写 "e"。
    • %E:科学计数法,大写 "E"。
    • %f:标准计数法。
    • %g:根据实际情况选择 %e%f
    • %G:根据实际情况选择 %E%f.
  5. 字符串和字节切片占位符

    • %s:输出字符串。
    • %q:输出带双引号的字符串。
    • %x:以十六进制形式输出字符串。
    • %p:以十六进制形式输出指针。
  6. 指针占位符

    • %p:输出指针地址。
  7. 宽度和精度

    占位符可以使用数字来控制宽度和精度,如 %5.2f 表示总宽度为 5,小数点后保留 2 位。

下面是一个使用占位符的示例:

package main

import "fmt"

func main() {
    name := "Alice"
    age := 30
    height := 175.5

    fmt.Printf("Name: %s, Age: %d, Height: %.2f\n", name, age, height)
    // Output: Name: Alice, Age: 30, Height: 175.50
}

请注意,Go 中的占位符与 C 语言中的 printf 函数使用的占位符类似,但有一些细微的差异,所以在使用时需要注意一些区别。要了解更多占位符和用法,可以查阅官方文档:fmt 包文档

posted @ 2023-08-28 14:46  xingduo  阅读(2018)  评论(0编辑  收藏  举报