zoukankan      html  css  js  c++  java
  • 十九:GO语言的接口(interface)

    基本介绍

      interface类型可以定义一组方法,但是这些不需要实现,并且interface不能包含任何变量。到某个自定义类型(比如结构体)要使用的时候,在根据具体情况把这些方法实现

    基本语法

      type 接口名 interface{

        方法1(参数列表) 返回值列表

        方法2(参数列表) 返回值列表

      }

    实现接口

      func (t 自定义类型) 方法名1(参数列表)返回值列表{}

      func (t 自定义类型) 方法名2(参数列表)返回值列表{}

      1.接口里的所有方法都没有方法体,即接口的方法都是没有实现的方法。接口体现了程序设计的多态和高内聚低耦合的思想

      2.Golang中的接口,不需要显式的实现,只要一个变量,含有接口类型中的所有方法,那么这个变量就实现这个接口,因此,Golang中实现接口不需要任何关键字

    注意事项

      1.接口本身不能创建实例,但是可以指向一个实现了该接口的自定义类型的变量(实例)

      2.接口中所有的方法都没有方法体,即都是没有实现的方法

      3.在Golang中,一个自定义类型需要将某个接口的所有方法都实现,我们说这个自定义类型实现了该接口

      4.一个自定义类型只有实现了某个接口,才能将自定义类型的实例(变量)赋给接口类型

      5.只要是自定义数据类型,就可以实现接口,不仅仅是结构体类型

      6.一个自定义类型可以实现多个接口

      7.Golang接口中不能有任何变量

      8.一个接口可以继承多个别的接口,但是如果要实现该接口,也必须实现其他接口的多有方法

      9.interface类型默认是一个指针(引用类型),如果没有对interface初始化就使用,那么会输出nil

      10.空接口interface{}没有任何方法,所以所有类型都实现了空接口

  • 相关阅读:
    使用asp.net core 3.0 搭建智能小车1
    Exceptionless—本地部署
    SQLserver2016对字段是json对象查询
    Hello,World!
    计算机网络(一)
    《Unity Shader入门精要》读书笔记(抄1)
    模仿不知道哪个版本的AppleWatch界面UI(wpf)
    仿制shazzam的简单功能,将hlsl转换为WPF中的ShaderEffect
    CAST()函数可以进行数据类型的转换。
    ORA-00984: 列在此处不允许 SQL parse error location
  • 原文地址:https://www.cnblogs.com/WORDPAD/p/15161970.html
Copyright © 2011-2022 走看看