在 Golang 中格式化字符串而不打印

Printf 可以说是任何格式化为字符串的变量的最常见实现。Golang 有一种简单的技术,可以在不打印字符串的情况下格式化字符串。

Go 中的 fmt 包的 Sprintf() 函数可用于执行此操作。Printf()Sprintf() 之间的唯一区别是 Printf() 格式化和打印消息,而 Sprintf() 仅格式化消息。

在 Golang 中使用 Sprintf() 函数格式化字符串

格式化函数根据发送给它们的格式说明符格式化字符串。

package main
import (
    "fmt"
)
func main() {
    name := "Jay"
    age := 23
    res := fmt.Sprintf("%s is %d years old", name, age)
    fmt.Println(res)
}

输出:

Jay is 23 years old

另一个例子是 fmt 包中的 sprintf() 方法格式化一个字符串并返回输出字符串。

package main
import (
    "fmt"
)
func main() {
    name := "Jay"
    country := "India"
    str := fmt.Sprintf("%s is from %s\n", name, country)
    fmt.Println(str)
    name = "Mike"
    age := 20
    str = fmt.Sprintf("%s is %d\n", name, age)
    fmt.Println(str)
}

输出:

Jay is from India
Mike is 20

最后一个示例演示了如何重新排列格式说明符。

package main
import (
    "fmt"
)
func main() {
    a := 2
    b := 3
    c := 4
    res := fmt.Sprintf("There are %d grapes, %d bananas, %d and strawberries.", a, b, c)
    fmt.Println(res)
}

输出:

There are 2 grapes, 3 bananas, 4 and strawberries