扩充系统或第三方的类型
- 定义别名
- 使用组合
定义别名
example:
type myStructName struct {
name *package.targetStruct
}
func (name *myStructName)funcName() {
.....扩展方法
}
使用组合
example:
package Queue
type queue []interface{}
func (q *queue) Push(value interface{}) {
*q = append(*q, value)
}
func (q *queue) Pop() interface{} {
head := (*q)[0]
*q = (*q)[1:]
return head
}
func (q *queue) isEmpty() bool {
return len(*q) == 0
}