完整代碼: 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() }有一個(gè)錯(cuò)誤:要附加的第一個(gè)參數(shù)必須是slice;有*連接這部分代碼中的錯(cuò)誤:arrayOfConnections = append(&Connection {conn,1},0)我是Golang的新手,很難弄清楚我在做什么錯(cuò)。如何重寫代碼,以便新的連接最終將附加到切片中?在stackoverflow上找不到答案。希望有人能幫忙。謝謝你。
1 回答

開(kāi)滿天機(jī)
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
附件應(yīng)該是這樣的
arrayOfConnections = append(arrayOfConnections, &Connection{conn, 1})
append內(nèi)置函數(shù)跟隨簽名
func append(s []T, vs ...T) []T
當(dāng)s是要附加的切片,而vs是要附加至s的元素時(shí),然后de function返回一個(gè)新的切片,其中附加了所有元素。
- 1 回答
- 0 關(guān)注
- 292 瀏覽
添加回答
舉報(bào)
0/150
提交
取消