Ted*_*Ted 2 string format go slice
我希望有一个功能func format(s []string) string,使得两个串片s1和s2,如果reflect.DeepEqual(s1, s2) == false,然后format(s1) != format(s2).
func format(s []string) string
s1
s2
reflect.DeepEqual(s1, s2) == false
format(s1) != format(s2)
如果我只是使用fmt.Sprint,切片["a", "b", "c"]和["a b", "c"]所有打印[a b c],这是不可取的; 并且还存在string([]byte('4', 0, '2'))具有相同表示的问题"42".
fmt.Sprint
["a", "b", "c"]
["a b", "c"]
[a b c]
string([]byte('4', 0, '2'))
"42"
Jim*_*imB 8
使用显示数据结构的格式动词,例如%#v.在这种情况下%q效果也很好,因为原始类型都是字符串.
%#v
%q
fmt.Printf("%#v\n", []string{"a", "b", "c"}) fmt.Printf("%#v\n", []string{"a b", "c"}) // prints // []string{"a", "b", "c"} // []string{"a b", "c"}
归档时间:
9 年 前
查看次数:
3501 次
最近记录:
8 年,12 月 前