在 Golang 中格式化字串而不列印

Jay Singh 2022年4月22日
在 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, and %d strawberries.", a, b, c)
	fmt.Println(res)
}

輸出:

There are 2 grapes, 3 bananas, and 4 strawberries.

相關文章 - Go String