为了账号安全,请及时绑定邮箱和手机立即绑定

将struct放入切片时出现golang错误

将struct放入切片时出现golang错误

Go
慕神8447489 2021-04-06 17:22:24
完整代码:   package main    import (        "net"    )    var arrayOfConnections []*Connection    type Connection struct {        conn net.Conn        id   int    }    func main() {        serv, _ := net.Listen("tcp", ":8080")        defer serv.Close()        connectionHandle(serv)    }    func connectionHandle(serv net.Listener) {        conn, _ := serv.Accept()        arrayOfConnections = append(&Connection{conn, 1}, 0)        conn.Write([]byte("one"))        conn.Close()    }有一个错误:要附加的第一个参数必须是slice;有*连接这部分代码中的错误:arrayOfConnections = append(&Connection {conn,1},0)我是Golang的新手,很难弄清楚我在做什么错。如何重写代码,以便新的连接最终将附加到切片中?在stackoverflow上找不到答案。希望有人能帮忙。谢谢你。
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超12个赞

附件应该是这样的

arrayOfConnections = append(arrayOfConnections, &Connection{conn, 1})

append内置函数跟随签名

func append(s []T, vs ...T) []T

当s是要附加的切片,而vs是要附加至s的元素时,然后de function返回一个新的切片,其中附加了所有元素。


查看完整回答
反对 回复 2021-04-19
  • 1 回答
  • 0 关注
  • 236 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信