zoukankan      html  css  js  c++  java
  • 初识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{},那么也就可以返回任意类型的值。是不是很有用啊!
    

      

  • 相关阅读:
    python-通过psutil监控系统性能
    集合类和JAVA多线程
    JAVA异常和基础类库
    类设计基础与进阶
    面对对象思想
    AtCoder Beginner Contest 185
    Java概述
    友链
    牛客编程巅峰赛S2第7场
    牛客小白月赛30
  • 原文地址:https://www.cnblogs.com/huangxiaohen/p/4182531.html
Copyright © 2011-2022 走看看