发布时间:2024-12-22 22:37:46
%s:用于字符串的输出,可以直接输出Unicode字符串。
%q:用于输出带有双引号的字符串,适用于字符串中包含特殊字符的情况。
%x:用于将字符串输出为十六进制。
%X:同上,但输出的字母为大写。
示例代码:
```go package main import "fmt" func main() { name := "Alice" fmt.Printf("Hello, %s!\n", name) // 输出 Hello, Alice! fmt.Printf("%q\n", "Hello, 世界") // 输出 "Hello, 世界" fmt.Printf("%x\n", "abc") // 输出 616263 } ```%d:用于输出十进制整数。
%b:用于输出二进制。
%o:用于输出八进制。
%x:用于输出小写字母的十六进制。
%X:同上,但输出的字母为大写。
%f:用于输出浮点数。
示例代码:
```go package main import "fmt" func main() { age := 28 fmt.Printf("My age is %d\n", age) // 输出 My age is 28 fmt.Printf("Binary representation: %b\n", age) // 输出 Binary representation: 11100 fmt.Printf("Octal representation: %o\n", age) // 输出 Octal representation: 34 fmt.Printf("Hexadecimal representation: %x\n", age) // 输出 Hexadecimal representation: 1c fmt.Printf("Hexadecimal representation (uppercase): %X\n", age) // 输出 Hexadecimal representation (uppercase): 1C pi := 3.1415926 fmt.Printf("The value of pi is %f\n", pi) // 输出 The value of pi is 3.141593 } ```%v:用于输出结构体、数组和切片等复合类型的值。它会自动根据值的类型选择合适的打印格式。
%p:用于输出指针的值。
示例代码:
```go package main import "fmt" type Person struct { Name string Age int } func main() { person := Person{ Name: "Bob", Age: 30, } fmt.Printf("Person: %v\n", person) // 输出 Person: {Bob 30} ptr := &person fmt.Printf("Pointer: %p\n", ptr) // 输出 Pointer: 0xc00000a0b0 } ```