zoukankan      html  css  js  c++  java
  • go语言接口

    go语言的接口interface

    go语言的interface是一种类型,它是一个或多个方法的集合,只要实现了interface中定义的方法,那么就是该interface类型

    如: 假如我们定义只要会嘎嘎嘎叫的鸟都是鸭子

    package main
    
    import "fmt"
    
    // 定一个duck的接口类型,内部只要实现gaga即可
    type duck interface {
    	gaga()
    }
    
    // 定义一个bird的结构体
    type bird struct {
    	name string
    }
    
    // bird结构体的gaga方法
    func (b bird) gaga() {
    	fmt.Printf("%s:嘎嘎嘎", b.name)
    }
    
    // 定义一个鸭子叫的函数,参数为duck类型
    // 内部调用duck的gaga方法
    func duck_say(d duck) {
    	d.gaga()
    }
    
    func main() {
    	b := bird{name: "鸭子"}
    	duck_say(b)
    }
    

    注意:如果gaga方法是使用*bird(指针接受者)来接受的,那么main函数中的duck_say应该接受b的地址

    type people interface {
    	get_name() string
    	color(c string) string
    }
    

    结构体支持函数参数和返回值的定制

  • 相关阅读:
    git学习笔记
    angular自定义指令-1
    转 三范式
    CentOS 7 安装NVIDIA驱动实现修改分辨率和扩屏功能
    acm 2034
    acm 2031
    记票统计
    acm 2020 map 逆向输出
    acm 2014
    将输入的字符一个一个读入
  • 原文地址:https://www.cnblogs.com/ivy-blogs/p/12655016.html
Copyright © 2011-2022 走看看