亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go 中如何將字節數組轉換為字符串數組?

Go 中如何將字節數組轉換為字符串數組?

Go
子衿沉夜 2023-07-26 13:11:50
實現由四個字節數組組成的類型String()的方法。IPAddr到目前為止我已經嘗試過:package mainimport (? ? "fmt"? ? "strings")type IPAddr [4]bytefunc (ipaddr IPAddr) String() string {? ? ipaddrStrings := make([]string, 4)? ? for i, b := range ipaddr {? ? ? ? ipaddrStrings[i] = string(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: ...googleDNS:.這會導致cannot convert ipaddr (type IPAddr) to type string我怎樣才能完成這個練習?
查看完整描述

3 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

添加這個方法:

func (a IPAddr) String() string {
    return fmt.Sprintf("%d.%d.%d.%d", a[0], a[1], a[2], a[3])
}


查看完整回答
反對 回復 2023-07-26
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

string(b)嘗試strconv.Itoa(int(b))將數值轉換為字符串,而不是。



查看完整回答
反對 回復 2023-07-26
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

我獨立地提出了與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)

? ? }

}


這打?。?/p>


loopback: 127.0.0.1

googleDNS: 8.8.8.8


查看完整回答
反對 回復 2023-07-26
  • 3 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號