golang读取主机条目或只是将其作为文件读入

golang读取主机条目或只是将其作为文件读入,go,Go,我需要从Linux上的主机文件中读取一个条目 我已经看了“net” net.LookupIP(“AAA”)给了我:没有这样的主机。 虽然如果我从终端执行getenthosts,我可以看到条目 我只需要读取ip地址 注意:我在docker容器中运行这个程序,etc/hosts文件确实包含这个条目——我可以从shell脚本中读取它,但不能从go中读取。 在docker中,您可以链接容器,这将在主机文件中为您提供一个条目 或者我应该将其作为文件读入吗?如果您只想读取该文件 进口( “fmt” “i

我需要从Linux上的主机文件中读取一个条目

我已经看了
“net”

net.LookupIP(“AAA”)给了我:
没有这样的主机


虽然如果我从终端执行
getenthosts
,我可以看到条目

我只需要读取ip地址

注意:我在docker容器中运行这个程序,etc/hosts文件确实包含这个条目——我可以从shell脚本中读取它,但不能从go中读取。 在docker中,您可以链接容器,这将在主机文件中为您提供一个条目


或者我应该将其作为文件读入吗?

如果您只想读取该文件

进口( “fmt” “io/ioutil” )

然后

dat, err := ioutil.ReadFile("/windows/system32/drivers/etc/hosts")
fmt.Print(string(dat))

当然,您可以解析结果

您是否特别需要在
/etc/hosts
中读取和输入,或者只解析可能在
/etc/hosts
中的地址?
net.LookupIP
不做你想做的吗?net.LookupIP(“AAA”)告诉我:没有这样的主机。如果我从终端调用“getent hosts”,我可以看到条目。对不起,是的,我只需要读取ip地址?您使用的是什么版本的Go?这些值实际上是在/etc/hosts文件中,还是通过nsswitch从其他地方提取的?顺便说一句,您应该阅读相关文档:
dat, err := ioutil.ReadFile("/windows/system32/drivers/etc/hosts")
fmt.Print(string(dat))