在 Golang 中格式化字串而不列印
Jay Singh
2022年4月22日
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