戈朗 : convert IPv4 and IPv6 addresses from text to binary form

标签 go

希望发送 4 个字节的 ipv4 地址和 16 个字节的 ipv6 地址 - 类似于 inet_pton()去吗?

struct sockaddr_in sa;
char str[INET_ADDRSTRLEN];
inet_pton(AF_INET, "192.0.2.33", &(sa.sin_addr));

struct sockaddr_in6 sa;
char str[INET6_ADDRSTRLEN];
inet_pton(AF_INET6, "2001:db8:8714:3a90::12", &(sa.sin6_addr));

我知道https://play.golang.org/p/jn8t7zJzT5v - 虽然 IPV6 地址看起来很复杂。

谢谢!

最佳答案

net.ParseIP()将采用 IPv4 或 IPv6 格式的字符串并返回 net.IP包含 IP 地址。

net.IP 是您需要提供给大多数其他 Go 函数的内容,例如与主机建立连接。

请注意,与返回错误的大多数 Go 函数不同,如果字符串无法解析为 IP 地址,net.ParseIP() 只会返回 nil

https://play.golang.org/p/Cgsrgth7JKY

关于戈朗 : convert IPv4 and IPv6 addresses from text to binary form,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55699616/

相关文章:

go - 列出缓冲 channel 中的所有元素

github - golang 中非原子类型的类型包装

go - 使用 go 模块将 retool 替换为 tools.go 用于多开发人员和 CI 环境

c - 如何使用指向 C 数据的指针写入 Golang 中的文件?

mysql - 我们如何使用 go 例程同时运行查询?

javascript - 将 json 文件从 GO 服务器提供给 javascript 客户端

go - 语法错误:逗号未预料到,请期待

go - 是否可以在不同的文件范围内重用常量名称?

google-app-engine - 如何为 appengine go 项目运行单元测试

go - 如何在Go中使用多个html模板(即具有基本模板或页脚模板)?