3 回答
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個贊
添加這個方法:
func (a IPAddr) String() string {
return fmt.Sprintf("%d.%d.%d.%d", a[0], a[1], a[2], a[3])
}TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個贊
string(b)嘗試strconv.Itoa(int(b))將數(shù)值轉(zhuǎn)換為字符串,而不是。
TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個贊
我獨(dú)立地提出了與bserdar概述相同的解決方案:
package main
import (
? ? "fmt"
? ? "strconv"
? ? "strings"
)
type IPAddr [4]byte
func (ipaddr IPAddr) String() string {
? ? ipaddrStrings := make([]string, 4)
? ? for i, b := range ipaddr {
? ? ? ? ipaddrStrings[i] = strconv.Itoa(int(b))
? ? }
? ? return strings.Join(ipaddrStrings, ".")
}
func main() {
? ? hosts := map[string]IPAddr{
? ? ? ? "loopback":? {127, 0, 0, 1},
? ? ? ? "googleDNS": {8, 8, 8, 8},
? ? }
? ? for name, ip := range hosts {
? ? ? ? fmt.Printf("%v: %v\n", name, ip)
? ? }
}
這打印:
loopback: 127.0.0.1
googleDNS: 8.8.8.8
- 3 回答
- 0 關(guān)注
- 236 瀏覽
添加回答
舉報(bào)
