我已經編寫了旨在打印出地圖中的鍵和值的代碼。fmt.Println打印出格式動詞,如%s
我期待的輸出爲:
a -> apple
b -> banana
但輸出居然是:
%s -> %s
a apple
%s -> %s
b banana
我已經編寫了旨在打印出地圖中的鍵和值的代碼。fmt.Println打印出格式動詞,如%s
我期待的輸出爲:
a -> apple
b -> banana
但輸出居然是:
%s -> %s
a apple
%s -> %s
b banana
看起來你要使用字符串格式化,這是不fmt.Println
支持。
按照godocs:根據一格式說明
而
的println格式
printf的格式使用默認格式
的下面將給你試圖讓輸出:
package main import "fmt" func main() { kvs := map[string]string{ "a": "apple", "b": "banana", } for k, v := range kvs { fmt.Printf("%s -> %s\n", k, v) } }
注意,在進入地圖不具有特定的排序,所以你可能會得到另一個之前任意鍵 - 值對。
您使用了錯誤的打印功能。
I)試着用Printf
代替Println
,它應該可以正常工作。
II)另一種選擇是首先格式化字符串s := fmt.Sprintf("a %s", "string")
,然後打印它fmt.Println(s)
。