0
对于走在路程中的Stringers练习: 我有两种不同的输出,用于两种不同格式的打印。我唯一改变的是格式动词。他们是%v和%d。理论上,他们会给出相同的输出。然而,输出的顺序也发生了变化,这太奇怪了。有关于此的任何想法?下面是我的代码:走路纵梁的烦恼练习
package main
import "fmt"
type IPAddr [4]byte
// TODO: Add a "String() string" method to IPAddr.
func (a IPAddr)String() string{
// Here is what I changed
return fmt.Sprintf("%d.%d.%d.%d",a[0],a[1],a[2],a[3])
}
func main() {
addrs := map[string]IPAddr{
"loopback": {127, 0, 0, 1},
"googleDNS": {8, 8, 8, 8},
}
for n, a := range addrs {
fmt.Printf("%v: %v\n", n, a)
}
}
输出:
googleDNS:8.8.8.8
回送:127.0.0.1
package main
import "fmt"
type IPAddr [4]byte
// TODO: Add a "String() string" method to IPAddr.
func (a IPAddr)String() string{
// Here is what I changed
return fmt.Sprintf("%v.%v.%v.%v",a[0],a[1],a[2],a[3])
}
func main() {
addrs := map[string]IPAddr{
"loopback": {127, 0, 0, 1},
"googleDNS": {8, 8, 8, 8},
}
for n, a := range addrs {
fmt.Printf("%v: %v\n", n, a)
}
}
输出:
回送:127.0.0.1
googleDNS:8.8.8.8
输出的顺序也发生了变化。
谢谢!你是对的。 – user3443291 2015-02-05 23:11:38