golang 方法与接收者

小麦客 · · 1974 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

结构体_结构体方法(接收者).png

例子:

package main

import "fmt"

type person struct {
    name string
    age int
}

func (p person)Hello()  {
    fmt.Printf("Hello, %s\n", p.name)
}

// 拷贝副本,复制操作
//func (p person)Guonia()  {
//  p.age++
//}

// 传递指针(内存地址),真正修改变量值
func (p *person)ZhenGuonia()  {
    p.age++
}

func main() {
    //实例化一个结构体
    p1 := person{
        name:"小麦客",
        age:666,
    }
    p1.Hello()
    //p1.Guonia()
    //fmt.Println(p1.age)

    p1.ZhenGuonia()
    fmt.Println(p1.age)
}

结构体_结构体方法(接收者)_定义.png
结构体_结构体方法(值接收者_指针接收者).png

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:小麦客

查看原文:golang 方法与接收者

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1974 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传