Go 基本概念速记速查之结构体、方法、接口

Go 基本概念速记速查之结构体、方法、接口

💡 原文中文,约3400字,阅读约需8分钟。
📝

内容提要

本文介绍了Go语言中的结构体、方法、继承和接口的概念,包括结构体的赋值和访问方式,方法的添加和特定类型指定,继承的实现方式,接口的多态性,以及接口值、空接口和类型断言的用法。

🎯

关键要点

  • 结构体通过 struct_name {x,y,z} 逐一赋值或指定 k v 来赋值。
  • 结构体访问通过 struct_name.field_name 进行。
  • Go 支持隐式间接引用,结构体指针可以直接用 p.X 访问属性。
  • 可以为任何类型添加方法,结构体通过 type struct 定义。
  • 方法调用时,当前类型的实例作为参数传给 receiver。
  • 默认方法调用是值传递,修改内部值需传递引用。
  • Go 不支持继承,但可以通过组合模式实现继承效果。
  • 通过匿名嵌入结构体实现继承,省略中间匿名结构体。
  • 使用 interface 定义方法组,实现多态。
  • 在 type 类型上定义方法,方法接收者在参数列表内。
  • 接收者分为值接收者和指针接收者,指针接收者可修改值。
  • 接口是一组方法的集合,隐式声明实现接口。
  • 接口值是由值和具体类型组成的元组,调用时执行具体类型的方法。
  • 空接口可以处理任意类型的值,因其实现了 0 个方法。
  • 类型断言提供访问接口值底层具体值的方式。
  • 类型选择实现泛型效果,语法类似 switch 和 type assertion 的结合。
  • Stringer 接口用于通过字符串描述自身,常用于 fmt.Print。
  • error 类型是内建接口,用于表示错误状态,调用后需验证 err 是否为 nil。
➡️

继续阅读