在 Go 中,可以使用net.ParseIP()
函数将字符串形式的IPv6地址转换为字节切片。然后,通过类型断言将结果转换为[]byte
类型的数组。
以下是一个示例代码:
package main
import (
"fmt"
"net"
)
func main() {
ipString := "2001:db8::1"
ip := net.ParseIP(ipString)
if ip == nil {
fmt.Println("无效的IPv6地址")
return
}
ipBytes := ip.To16()
if ipBytes == nil {
fmt.Println("转换失败")
return
}
fmt.Printf("%d 字节的数组形式:%v\n", len(ipBytes), ipBytes)
}
输出结果:
16 字节的数组形式:[32 1 13 184 0 0 0 0 0 0 0 0 0 0 0 1]
在这个例子中,我们将字符串形式的IPv6地址”2001:db8::1”转换为了一个116个字节(16*8=128位)大小的数组ipBytes
。
内容由零声教学AI助手提供,问题来源于学员提问