• 初识Go(7)


    什么是interface
    简单的说,interface 是一组 method 的组合,我们通过 interface 来定义对象的一组行为。
    如何实现interface?
    
    //Human 对象实现 Sayhi 方法
    func (h *Human) SayHi() {
    	fmt.Printf("Hi, I am %s you can call me on %s
    ", h.name, h.phone)
    }
    // Human 对象实现 Sing 方法
    func (h *Human) Sing(lyrics string) {
    	fmt.Println("La la, la la la, la la la la la...", lyrics)
    }
    //Human 对象实现 Guzzle 方法
    func (h *Human) Guzzle(beerStein string) int{
    	return 1
    }
    type Men interface {
    	SayHi()
    	Sing(lyrics string)
    	Guzzle(beerStein string) int
    }
      
    空interface(interface{})
    不包含任何的 method,正因为如此,所有的类型都实现了空
    interface。 空 interface 对于描述起不到任何的作用(因为它不包含任何的 method),但是空
    interface 在我们需要存储任意类型的数值的时候相当有用,因为它可以存储任意类型的数
    值。它有点类似于 C 语言的 void*类型。
    var a interface{}
    var i int = 5
    s := "Hello world"
    // a 可以存储任意类型的数值
    a = i
    a = s
    一个函数把 interface{}作为参数,那么他可以接受任意类型的值作为参数,如果一个函数
    返回 interface{},那么也就可以返回任意类型的值。是不是很有用啊!
    

      

  • 相关阅读:
    Android发送信息模拟系统
    Android SharedPreferences
    Android中SQLiteDatabase操作【附源码】
    poj 2453
    pku 1020
    poj 2594 Treasure Exploration
    pku 2092 Grandpa is Famous
    zoj Weekend Party
    poj 3259 Wormholes
    poj 2455 Secret Milking Machine
  • 原文地址:https://www.cnblogs.com/huangxiaohen/p/4182531.html
Copyright © 2020-2023  润新知