当前位置: 首页 > news >正文

go语言之进阶篇方法表达式

1、方法表达式

示例:

package main

import "fmt"

type Person struct {
	name string //名字
	sex  byte   //性别, 字符类型
	age  int    //年龄
}

func (p Person) SetInfoValue() {
	fmt.Printf("SetInfoValue: %p, %v\n", &p, p)
}

func (p *Person) SetInfoPointer() {
	fmt.Printf("SetInfoPointer: %p, %v\n", p, p)
}

func main() {
	p := Person{"mike", 'm', 18}
	fmt.Printf("main: %p, %v\n", &p, p)

	//方法值   f := p.SetInfoPointer //隐藏了接收者
	//方法表达式
	f := (*Person).SetInfoPointer
	f(&p) //显式把接收者传递过去 ====》 p.SetInfoPointer()

	f2 := (Person).SetInfoValue
	f2(p) //显式把接收者传递过去 ====》 p.SetInfoValue()
}

执行结果:

main: 0xc00005a400, {mike 109 18}
SetInfoPointer: 0xc00005a400, &{mike 109 18}
SetInfoValue: 0xc00005a480, {mike 109 18}

  

转载于:https://www.cnblogs.com/nulige/p/10251135.html

相关文章:

  • Java 网络编程 之 TCP协议
  • java面试题(四)
  • Java将string内容写入到TXT文件
  • 爬虫之图片懒加载技术、selenium和PhantomJS
  • 词云制作没那么难,Python 10 行代码就实现了!
  • D-赌神(判断2^k = n时 k的值)
  • vue-router(hash模式)常见问题以及解决方法
  • 链式存储结构之静态链表
  • js简单实用的垂直导航菜单,鼠标移动触发
  • idea运行提示Error:java:无效的源发行版:1.9
  • zookeeper-3.5.4-beta安装
  • 归一化
  • 深度神经网络多任务学习(Multi-Task Learning in Deep Neural Networks)
  • 实验吧-密码学-疑惑的汉字(当铺密码)
  • 织梦dedecms去除友情链接中的li和span
  • 【Leetcode】101. 对称二叉树
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • CSS3 变换
  • flutter的key在widget list的作用以及必要性
  • github指令
  • JAVA_NIO系列——Channel和Buffer详解
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • Linux后台研发超实用命令总结
  • Spring框架之我见(三)——IOC、AOP
  • yii2中session跨域名的问题
  • 电商搜索引擎的架构设计和性能优化
  • 动态魔术使用DBMS_SQL
  • 分布式熔断降级平台aegis
  • 机器学习 vs. 深度学习
  • 基于游标的分页接口实现
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 如何合理的规划jvm性能调优
  • 深度学习在携程攻略社区的应用
  • 数据可视化之 Sankey 桑基图的实现
  • 微信支付JSAPI,实测!终极方案
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • ​插件化DPI在商用WIFI中的价值
  • $.ajax()
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (二)JAVA使用POI操作excel
  • (算法)前K大的和
  • (一) springboot详细介绍
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET Reactor简单使用教程
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .net的socket示例
  • .Net环境下的缓存技术介绍
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理