Go语言的Printf用法

发布时间 2023-07-25 21:41:51作者: tangjicheng

在 Go 语言中,Printf 是用于格式化输出的函数,用于将数据以指定格式打印到标准输出或其他输出流。其中,%pPrintf 函数的一个格式化动词,用于输出指针的值。

以下是 %p 的详细说明以及其他常用的格式化动词:

  1. %p
    %p 用于格式化输出指针的值。它将一个指针的十六进制值打印出来,前面带有 "0x" 前缀。指针变量存储的是内存地址,通过 %p 可以将这个地址以十六进制的形式显示出来。

示例:

package main

import "fmt"

func main() {
    var x int = 42
    p := &x
    fmt.Printf("Pointer p: %p\n", p)
}

输出:

Pointer p: 0xc000016078
  1. 其他常用格式化动词:
    Printf 函数中,除了 %p,还有许多其他格式化动词可用于输出不同类型的数据。
  • %d:以十进制格式输出整数。
  • %f:以浮点数格式输出浮点数。
  • %s:以字符串格式输出字符串。
  • %t:以布尔值格式输出 true 或 false。
  • %v:以默认格式输出变量的值,可以用于多种数据类型。
  • %T:输出变量的类型信息。

示例:

package main

import "fmt"

func main() {
    var num int = 42
    var pi float64 = 3.1415926
    var name string = "John Doe"
    var isActive bool = true

    fmt.Printf("Integer: %d\n", num)
    fmt.Printf("Float: %f\n", pi)
    fmt.Printf("String: %s\n", name)
    fmt.Printf("Boolean: %t\n", isActive)
    fmt.Printf("Variable: %v\n", num)
    fmt.Printf("Variable: %v\n", pi)
    fmt.Printf("Variable: %v\n", name)
    fmt.Printf("Variable: %v\n", isActive)
    fmt.Printf("Type of num: %T\n", num)
    fmt.Printf("Type of pi: %T\n", pi)
    fmt.Printf("Type of name: %T\n", name)
    fmt.Printf("Type of isActive: %T\n", isActive)
}

输出:

Integer: 42
Float: 3.141593
String: John Doe
Boolean: true
Variable: 42
Variable: 3.1415926
Variable: John Doe
Variable: true
Type of num: int
Type of pi: float64
Type of name: string
Type of isActive: bool

这些格式化动词可以根据数据类型和输出的需求进行灵活的使用,方便开发者进行数据的格式化输出。