• 35_方法的使用


    概述:

    在面向对象编程中,一个对象其实也就是一个简单的值或者一个变量,在这个对象中会包含一些函数,这种带有接收者的函数,我们称为方法(method)。 本质上,一个方法则是一个和特殊类型关联的函数。

    一个面向对象的程序会用方法来表达其属性和对应的操作,这样使用这个对象的用户就不需要直接去操作对象,而是借助方法来做这些事情。

    //在go语言中,可以给任意的自定义类型(包括内置类型,但不包括本身是指针类型),添加相应的方法
    //方法总是绑定对象实例,并隐式的将实例作为第一参数(receiver)
    //格式如下: func (receiver ReceiverType)funcName(parameter)results{}
    //值传递

    代码如下:
    package main
    
    
    import "fmt"
    
    
    type Student struct {
    	//和变量定义不同,不要写var关键字
    	Id   int
    	Name string
    	Sex  byte
    	Age  int
    	Addr string
    }
    func (s Student) PrintInfo() {
    	fmt.Println("该学生姓名为:", s.Name)
    	s.Name = "steven"
    	fmt.Println("该学生姓名为:", s.Name) //steven
    }
    func (s *Student) PrintInfoName() {
    	s.Name = "steven"
    	fmt.Println("该学生姓名为:", s.Name)
    
    
    }
    func main() {
    	var s1 Student = Student{1, "zhao", 'm', 24, "js"}
    	s1.PrintInfo()
    	fmt.Println("该学生姓名为:", s1.Name) //zhao
    
    
    	//引用传递
    	var s2 *Student
    	s2 = new(Student) //如果不开辟空间的话,没有赋值的成员,会没有地址,从而报错 invalid memory address or nil pointer dereference
    	s2.Name = "zhao"
    	(s2).PrintInfoName()
    	fmt.Println("该学生姓名为:", s2.Name)

    }
    每天的价值就是不停息的前进!!!
  • 相关阅读:
    iOS MJRefresh的使用 (列表上拉加载更多)
    iOS 后台任务
    ios Alamofire网络插件的使用
    springboot shiro ehcache redis 简单使用
    android BottomNavigationView 简单使用
    iOS ksyhttpcache音视频缓存
    springboot 简单使用shiro登录
    springboot 使用 mybatis + mapper
    [LeetCode] Permutations
    【经典算法】回溯算法
  • 原文地址:https://www.cnblogs.com/zhaopp/p/11565313.html
Copyright © 2020-2023  润新知