Go 在函数调用中传递带参数的类型
下面的代码来自Jan Newmarch关于Go中网络编程的文章。在我所看到的大多数Go代码中(这是非常少的,因为我是一个新手),您不会(在函数调用中)传递带有参数的类型Go 在函数调用中传递带参数的类型,go,Go,下面的代码来自Jan Newmarch关于Go中网络编程的文章。在我所看到的大多数Go代码中(这是非常少的,因为我是一个新手),您不会(在函数调用中)传递带有参数的类型 conn.Write([]byte(daytime)) 为什么必须在此函数调用中包含[]字节 func main() { service := ":1200" tcpAddr, err := net.ResolveTCPAddr("ip4", service) checkError(err)
conn.Write([]byte(daytime))
为什么必须在此函数调用中包含[]字节
func main() {
service := ":1200"
tcpAddr, err := net.ResolveTCPAddr("ip4", service)
checkError(err)
listener, err := net.ListenTCP("tcp", tcpAddr)
checkError(err)
for {
conn, err := listener.Accept()
if err != nil {
continue
}
daytime := time.Now().String()
conn.Write([]byte(daytime))
应将该值作为字节片。由于day
的类型为string,因此必须对其进行转换
您可以将上述内容改写为:
daytime := []byte(time.Now().String())
conn.Write(daytime)
或者,在@fabrizioM编写时,您可以使用格式化的编写器进行转换:
fmt.Fprintf(conn, daytime)
应将该值作为字节片。由于day
的类型为string,因此必须对其进行转换
您可以将上述内容改写为:
daytime := []byte(time.Now().String())
conn.Write(daytime)
或者,在@fabrizioM编写时,您可以使用格式化的编写器进行转换:
fmt.Fprintf(conn, daytime)
另一种方法是使用
fmt.Fprintf(conn, daytime)
另一种方法是使用
fmt.Fprintf(conn, daytime)
因为在服务器和客户端之间传输的数据是字节 在您的案例中,白天显然是字符串格式 因此,您必须使用[]字节(日间)将其转换为字节 无论哪种方式,您都可以导入“bufio”为每个客户机和NewWriter创建一个NewWriter 将使用WriteString(“”)方法。此时,您可以直接度过白天
作为参数~,因为服务器和客户端之间传输的数据是字节 在您的案例中,白天显然是字符串格式 因此,您必须使用[]字节(日间)将其转换为字节 无论哪种方式,您都可以导入“bufio”为每个客户机和NewWriter创建一个NewWriter 将使用WriteString(“”)方法。此时,您可以直接度过白天
作为一个参数~更重要的是,Go规范包含一个允许您将字符串转换为字节片的特殊情况。更重要的是,Go规范包含一个允许您将字符串转换为字节片的特殊情况。