henryspace

记录精彩的程序人生 开始使用

Part 16 - Go 语言学习 - 接口的值类型

接口的值类型

  1. 接口变量
    • 实现者的类型
    • 实现者的指针 -> 实现者
  2. 接口变量自带指针
  3. 接口变量同样采用值传递,几乎不需要使用接口的指针
  4. 指针接收者实现智能以指针方式使用;值接收者都可
  5. 查看接口变量
    • 表示任何类型:interface{}
    • Type Assertion (类型断言)
    • Type Switch (case 类型判断)
package util

// 支持任何类型
type Queue []interface{}

func (q *Queue) Push(v interface{}) {
	*q = append(*q, v)
}

func (q *Queue) Pop() interface{} {
	head := (*q)[0]
	*q = (*q)[1:]
	return head
}

func (q *Queue) IsEmpty() bool {
	return len(*q) == 0
}
评论
留下你的脚步