net 包用于网络编程,提供了创建基本网络应用所需的功能,如创建网络连接、监听端口、处理地址等。
package main
import (
"fmt"
"net"
)
func main() {
// 解析地址
addr, err := net.ResolveIPAddr("ip", "example.com")
if err != nil {
fmt.Println("Error resolving address:", err)
return
}
fmt.Println("Resolved IP address:", addr)
// 创建TCP连接
conn, err := net.Dial("tcp", "example.com:80")
if err != nil {
fmt.Println("Error establishing connection:", err)
return
}
defer conn.Close()
fmt.Println("Connected to", conn.RemoteAddr())
// 创建TCP监听
listener, err := net.Listen("tcp", ":8080")
if err != nil {
fmt.Println("Error creating listener:", err)
return
}
defer listener.Close()
fmt.Println("Listening on", listener.Addr())
// 接受连接
for {
client, err := listener.Accept()
if err != nil {
fmt.Println("Error accepting connection:", err)
break
}
defer client.Close()
fmt.Println("Accepted connection from", client.RemoteAddr())
}
}
在这个例子中,我们使用了 net.ResolveIPAddr 解析域名对应的IP地址,net.Dial 建立TCP连接,net.Listen 创建TCP监听。注意,在实际应用中,你可能需要处理更多的错误和配置。
如果你需要了解其他包,请继续提出。