Go 语言圣经 第十二章 反射

/*
第十二章 反射

Go语言提供了一种反射机制,
能够在运行时更新变量和检查它们的值、调用它们的方法和它们支持的内在操作,
而不需要在编译时就知道这些变量的具体类型。

反射是一个复杂的内省技术,
不应该随意使用

fmt包提供的字符串格式功能,encoding/json和encoding/xml,text/template和html/template包
这些包内部都是用反射技术实现的,但是它们自己的API都没有公开反射相关的接口

*/

12.1 为何需要反射?

知识点

  • 1.为了处理不满足公共接口的类型的值,或者设计函数还不存在的类型

12.2 reflect.Type和reflect.Value

知识点

  • 1.reflect包提供了反射功能,定义两个类型Type和Value
  • 2.Type表示一个Go类型. 它是一个接口
  • 3.一个Value,有很多方法来检查其内容, 无论具体类型是什么

代码

  • 章节中的例子

func test_format_reflect()  {

    var x int64 = 1
    var d time.Duration = 1 * time.Nanosecond
    fmt.Println(format.Any(x))                  // "1"
    fmt.Println(format.Any(d))                  // "1"
    fmt.Println(format.Any([]int64{x}))         // "[]int64 0x8202b87b0"
    fmt.Println(format.Any([]time.Duration{d})) // "[]time.Duration 0x8202b87e0"
}

------不足之处,欢迎补充------
备注

《Go 语言圣经》

  • 学习记录所使用的GO版本是1.8
  • 学习记录所使用的编译器工具为GoLand
  • 学习记录所使用的系统环境为Mac os
  • 学习者有一定的C语言基础

代码仓库

Go语言圣经》是一本广受好评的教材,旨在帮助读者系统地学习和掌握Go语言。这本书以简明清晰的方式介绍了Go语言的各种特性、语法和用法,是入门和进阶者的理想选择。 首先,该书提供了对Go语言基础知识的全面介绍。它从简单到复杂地解释了Go语言的基本概念,诸如变量、函数、循环和条件语句等等。通过丰富的例子和练习,读者能够逐步理解和掌握这些概念。 其次,该书详细介绍了Go语言的高级特性和用法。读者可以学习到Go语言的面向对象编程、并发编程、网络编程等关键技术。并发编程是Go语言的一个独特特性,对于提高程序性能和扩展能力非常重要。 此外,该书还包含了对常见问题和陷阱的讲解,帮助读者避免一些常见的错误和陷阱。同时,书中提供了大量的案例和实践项目,读者可以通过实际操作来巩固所学内容。 《Go语言圣经》以其简洁明了的风格和对细节的深入讲解而闻名。无论是作为初学者的入门指南,还是作为有经验的开发者的参考书,这本书都能满足读者的需求。此外,该书的PDF版本能够方便地在线或离线阅读,为读者提供了更加便捷的学习体验。 综上所述,《Go语言圣经》是一本内容丰富、权威性强的优秀教材。它不仅适合Go语言的初学者,也适用于那些想要深入学习和掌握Go语言的开发者。无论是在线阅读还是PDF版本,读者都能够方便地获取和利用这本宝贵的学习资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值