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