zoukankan      html  css  js  c++  java
  • 36_方法集的使用

    所谓方法集,就是go编译器,可以根据 传递的接收者(receiver)类型,自动转换成所需的类型


    代码如下:
    package main
    
    
    import "fmt"
    
    
    type Student struct {
    	//和变量定义不同,不要写var关键字
    	Id   int
    	Name string
    	Sex  byte
    	Age  int
    	Addr string
    }
    
    
    func (s Student) PrintValue() {
    	fmt.Println("该方法为值传递")
    
    
    }
    func (s *Student) Printpointer() {
    	s.Name = "steven"
    	fmt.Println("该方法为引用传递")
    
    
    }
    func main() {
    	
    
    
    	//类型为T的方法集
    	s1 := Student{1, "zhao", 'm', 24, "js"}
    
    
    	//下面两者调用都可以
    	s1.Printpointer() //该方法为引用传递
    	//先把s1转换成(&s1),然后是(&s1).printpointer
    	(&s1).Printpointer() //该方法为引用传递
    
    
    	//下面两种方法类似
    	s1.PrintValue()
    	(&s1).PrintValue() //也是接收者先进行类型转换,然后在调用方法
    
    
    	//类型为*T 的方法集
    	var s2 *Student = &Student{2, "zhao", 'm', 24, "js"}
    	(*s2).PrintValue()
    	s2.PrintValue()
    	
    	s2.Printpointer()
    }
    每天的价值就是不停息的前进!!!
  • 相关阅读:
    NSNotificationCenter通知
    UITextView 输入字数限制
    UITextView添加占位符 placeholder
    Label显示html文本
    响应者链
    UIKit框架各类简要说明
    [转]setValue和setObject的区别
    谓词(NSPredicate)
    iOS麦克风权限的检测和获取
    SOCKET是什么
  • 原文地址:https://www.cnblogs.com/zhaopp/p/11565367.html
Copyright © 2011-2022 走看看