首页 > 其他 > 详细

35_方法的使用

时间:2019-09-21 23:47:37      阅读:133      评论:0      收藏:0      [点我收藏+]

概述:

在面向对象编程中,一个对象其实也就是一个简单的值或者一个变量,在这个对象中会包含一些函数,这种带有接收者的函数,我们称为方法(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)

}

35_方法的使用

原文:https://www.cnblogs.com/zhaopp/p/11565313.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!