zoukankan      html  css  js  c++  java
  • 方法

    什么是方法?

    方法其实就是一个函数,在 func 这个关键字和方法名中间加入了一个特殊的接收器类型。

    接收器可以是结构体类型或者是非结构体类型。接收器是可以在方法的内部访问的。

    语法

    func (a Person) getName()  {
    
    }  //类型为Person,方法是getName

    指针接收器与值接收器

        func (值)changeName(name string):在内部修改值,不会影响外部的值
        func (指针)changeName(name string):在内部修改值,会影响外部的值

    什么时候使用指针接收器、什么时候值接收器

    想修改原值,就用指针接收器
    其他情况使用值接收器

    匿名字段的方法

     

     

    在方法中使用值接收器 与 在函数中使用值参数
    在方法中使用指针接收器 与 在函数中使用指针参数
    不管是指针接收器还是值接收器,都可以使用值来调用
    不管是指针接收器还是值接收器,都可以使用指针来调用
    函数中,是什么参数,就得传什么参数
    package main
    
    import "fmt"
    
    type Person2 struct {
        name string
        age int
        sex int
    }
    //方法中使用值接收器
    func (a Person2)printName()  {
        fmt.Println(a.name)
    
    }
    //方法中使用指针接收器
    func (a *Person2)printName2()  {
        fmt.Println(a.name)
    }
    //函数中使用值参数
    func printName(a Person2)  {
        fmt.Println(a.name)
    }
    //在函数中使用指针参数
    func printName2(a *Person2)  {
        fmt.Println(a.name)
    }
    
    func main() {
        //p:=&Person2{name:"xy"}
        //调用值接收器
        //p.printName()
        //调用指针接收器
        //p.printName2()
        //调用值函数
        //printName(p)
        //调用指针函数
        //printName2(&p)
    
    }
  • 相关阅读:
    浏览器切换窗口事件
    icheck的使用
    datetimepicker —— 日期选择控件
    apktool
    生成证书
    Jadx
    js call、apply和bind
    1号台风来了
    Linux内核编译和测试
    华中科技大学电子地图
  • 原文地址:https://www.cnblogs.com/xiongying4/p/12029392.html
Copyright © 2011-2022 走看看