FMT.Println 打印出格式动词,如 %s

  • 本文关键字:格式 Println 打印 FMT go
  • 更新时间 :
  • 英文 :


我编写的代码旨在打印出映射中的键和值。

kvs := map[string]string{"a": "apple", "b": "banana"}
for k, v := range kvs {
fmt.Println("%s -> %sn", k, v)
}

我希望输出是:

a -> apple
b -> banana

但输出实际上是:

%s -> %s
a apple
%s -> %s
b banana

看起来您正在尝试使用字符串格式化程序,fmt.Println不支持这些格式化程序。

根据神学家的说法:

根据格式说明符的 printf 格式

使用默认格式的 Println 格式

以下内容将给出您尝试获取的输出:

package main
import "fmt"
func main() {
kvs := map[string]string{
"a": "apple",
"b": "banana",
}
for k, v := range kvs {
fmt.Printf("%s -> %sn", k, v)
}
}

请注意,Go 中的映射没有特定的顺序,因此您可能会在另一个键值对之前获得任意键值对。

您使用了错误的打印功能。

I( 尝试用Printf替换Println,它应该可以正常工作。

II(另一种选择是先格式化字符串s := fmt.Sprintf("a %s", "string"),然后将其打印fmt.Println(s)

参考:按示例:字符串格式

最新更新