fmt.Sprintf 是 Go 语言中的一个函数,用于格式化字符串并返回一个新的字符串。它属于 fmt 包,常用于将数据格式化为字符串,而不是直接输出到控制台。

语法

func Sprintf(format string, args ...interface{}) string
  • format:一个格式化字符串,包含占位符,用于指定如何格式化后续的参数。
  • args:一个可变参数列表,包含要格式化的值。

常用占位符

  • %s:字符串
  • %d:整数
  • %f:浮点数
  • %t:布尔值
  • %v:值的默认格式
  • %+v:结构体的字段名和值
  • %#v:值的 Go 语法表示
  • %x:十六进制表示
  • %g: 会根据数值自动选择最简洁的表示方式,去掉末尾的零

示例

以下是一些使用 fmt.Sprintf 的示例:

1. 基本用法

package main

import (
    "fmt"
)

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

    // 使用 Sprintf 格式化字符串
    result := fmt.Sprintf("My name is %s and I am %d years old.", name, age)
    fmt.Println(result) // 输出: My name is Alice and I am 30 years old.
}

2. 格式化浮点数

package main

import (
    "fmt"
)

func main() {
    price := 19.99
    formatted := fmt.Sprintf("The price is $%.2f", price)
    fmt.Println(formatted) // 输出: The price is $19.99
}

3. 使用结构体

package main

import (
    "fmt"
)

type Person struct {
    Name string
    Age  int
}

func main() {
    p := Person{Name: "Bob", Age: 25}
    result := fmt.Sprintf("Name: %s, Age: %d", p.Name, p.Age)
    fmt.Println(result) // 输出: Name: Bob, Age: 25
}

总结

  • fmt.Sprintf 是一个非常有用的函数,用于创建格式化的字符串。
  • 它不会直接输出到控制台,而是返回一个字符串,可以用于进一步处理或输出。
  • 适用于需要构建复杂字符串的场景,如日志记录、用户消息等。
每日更新-免费小火箭账号
不要错过任何机会,探索最新的应用和游戏,就在我们的平台。
立即访问
最后修改:2025 年 01 月 11 日
如果觉得我的文章对你有用,请随意赞赏