zoukankan      html  css  js  c++  java
  • golang之方法

      golang中的方法是作用在指定的数据类型上的(即:和指定 数据类型绑定),因此自定义类型,都可以有方法,而不仅仅是在struct。

    方法的使用:

    type Person struct {
        Num int
    }
    
    // 给A类型绑定一个方法
    func (p Person) test() {
        fmt.Println("test() ", p.Num)
    }
    
    func main() {
        var p Person
        p.test()
    }

    注意事项

      1.结构体类型是值类型,在方法调用中,遵守值类型的传递机制,是值拷贝传递方式

      2.如程序希望在方法中,修改结构体变量的值,可以通过结构体指针的方式处理

      3.Golang中的方法作用在指定的数据类型上的(即:和指定的数据类型绑定),因此自定义类型,都可以有方法,而不仅仅是struct,比如int,float32等都可以有方法

      4.方法的访问范围 控制的规则,和函数一样。方法名首字母小写,只能在本包访问,方法首字母大写,可以在本包和其它包访问

      5.如果一个类型实现了String()方法,那么fmt.Println默认会调用这个变量的String()进行输出

    总结:

      1.不管调用形式如何,真正决定是值拷贝还是地址拷贝,看这个方法是和哪个类型绑定;

      2.如果是和值 类型,比如(p Person),则是值拷贝,如果和指针类型,比如是(p *Person)则是地址拷贝

    人生就是要不断折腾
  • 相关阅读:
    net应用程序池自动关闭的解决方法
    asp.net 多个txt压缩导出下载
    asp.net 对象转XML,XML转对象
    asp.net Cache缓存的用法
    oracle 增加大字段项
    asp.net简繁体转换
    asp.net 根据连接地址保存文件,图片
    SpringSide从系统全局里面取值
    SpringSide dml操作
    一张表里面形成的树,固定初始化数据
  • 原文地址:https://www.cnblogs.com/xiangxiaolin/p/12052256.html
Copyright © 2011-2022 走看看