Go 语言中的结构指针

这是我的代码:


package main

import ("fmt")


type Message struct {


    Text []byte

    Tag string

}


func main() {


    var m Message


    pkt := []byte("Hey")

    editMessage(&m, &pkt)


    fmt.Println(string(m.Text))

    }


func editMessage(m *Message, pkt *[]byte) {


    m.Text = *pkt

}

我在输出中按预期得到“嘿”。


如果我改变m.Text = *pkt与(*m).Text = *pkt它的工作原理,以及!


哪个是正确/更有效的版本?或者这只是一个捷径?


如果我使用,这东西现在不能一直工作


c *net.Conn

作为函数的输入,我必须使用


something := (*c).RemoteAddr()  

让它工作。


阿晨1998
浏览 143回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go