3 回答

TA貢獻1824條經驗 獲得超6個贊
我喜歡用 fmt 的Sprintf
方法來處理這種類型的事情。它的工作原理類似于Printf
Go 或 C,只是它返回一個字符串。下面是一個例子:
output := fmt.Sprintf("%s%s%s%d", "key:", "value", ", key2:", 100)
轉到fmt.Sprintf 的文檔

TA貢獻1804條經驗 獲得超2個贊
您可以使用strings.Join,它幾乎比fmt.Sprintf 快3 倍。但是,它的可讀性可能較差。
output := strings.Join([]string{"key:", "value", ", key2:", strconv.Itoa(100)}, "")
見https://play.golang.org/p/AqiLz3oRVq
strings.Join 與 fmt.Sprintf
BenchmarkFmt-4 2000000 685 ns/op
BenchmarkJoins-4 5000000 244 ns/op
緩沖
如果您需要合并很多字符串,我會考慮使用緩沖區而不是上面提到的那些解決方案。

TA貢獻1844條經驗 獲得超8個贊
你可以簡單地這樣做:
import (
"fmt"
"strconv"
)
func main() {
result:="str1"+"str2"+strconv.Itoa(123)+"str3"+strconv.Itoa(12)
fmt.Println(result)
}
使用 fmt.Sprintf()
var s1="abc"
var s2="def"
var num =100
ans:=fmt.Sprintf("%s%d%s", s1,num,s2);
fmt.Println(ans);
- 3 回答
- 0 關注
- 253 瀏覽
添加回答
舉報