**代码如下 。输出data的时候报错了。不知道什么原因,有哪位懂的大牛解释一下。**
```go
package main
import (
"fmt"
"encoding/binary"
)
type IpAddr [4]byte
func main() {
addr := IpAddr{1, 2, 3, 4}
var tmp = make([]byte, 5)
for i := 0; i < len(addr); i++ {
tmp[i] = addr[i]
}
fmt.Println(tmp)
data := binary.BigEndian.Uint64(tmp)
fmt.Println(data)
str := ""
for _, value := range data {
str += string(value)
}
fmt.Println(str)
}
```
其实 string 本质上也是 byte 数组,只不过表达出来的模式不一样而已了。你可以用 s := fmt.Sprintf("%s", []byte) 的方式来做转换。
#5
更多评论