15、扩展已有类型
一、通过别名方法,扩展已有类型
package op // 定义了新类型Queue,该类型具有几种方法 type Queue []int // 因为需要改参数,所以传地址 func (q *Queue) Push(v int) { *q = append(*q, v) } func (q *Queue) Pop() int { head := (*q)[0] // 注意加括号 *q = (*q)[1:] return head } func (q *Queue) IsEmpty() bool{ return len(*q) == 0 }
二、通过组合方法,扩展已有类型
type myStructName struct { name *package.targetStruct } func (name *myStructName)funcName() { //.....扩展方法 }
三、通过内嵌方法,扩展已有类型

浙公网安备 33010602011771号