多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
绑定方式 func(a 结构体名称)方法名(){ } **不能为基础类型绑定** ![](https://img.kancloud.cn/9e/59/9e59adbf27538abbf1dd78101e01dd9a_968x473.png) ``` package main import ( "encoding/json" "fmt" ) type user struct {     Password string     Nickname string } //值传递,无法实际改变值 func (u user) modifyPassword(newP string) bool {     u.Password = newP     fmt.Println("modifyPassword=>", u.Password)     return true } //地址传递,可以实际改变值 func (u *user) modifyPasswordPtr(newP string) bool {     u.Password = newP     fmt.Println("modifyPasswordPtr=>", u.Password)     return true } func main() {     u := user{         Password: "123",         Nickname: "123123",     }     data, err := json.Marshal(u)     if err != nil {         fmt.Println("json encodeing err", err)         return     }     fmt.Println(string(data)) //JSON打印struct     fmt.Println("更改前的值", u.Password)     u.modifyPassword("abc")     fmt.Println("1、更改后的值", u.Password)     u.modifyPasswordPtr("def") (&u).modifyPasswordPtr("def")//上下等价,上面是编辑器底层优化后的写法     fmt.Println("2、更改后的值", u.Password) } ``` ![](https://img.kancloud.cn/24/ca/24ca7c9566a6b9053f536994fc28b3a7_328x142.png)