Go学习--interface(接口)

一、概念

接口是双方约定的一种合作协议。接口实现者不需要关心接口会被怎样使用,调用者也不需要关心接口的实现细节。接口是一种类型,也是一种抽象结构,不会暴露所含数据的格式、类型及结构。

通过以下的代码感受下Golang接口的用法

package main
import (
    "fmt"
)

// 定义一个数据写入器
type DataWriter interface {
    WriteData(data interface{}) error
}

// 定义文件结构,用于实现DataWriter
type file struct {
}

// 实现DataWriter接口的WriteData方法
func (d *file) WriteData(data interface{}) error {
    // 模拟写入数据
    fmt.Println("WriteData:", data)
    return nil
}
func main() {
    // 实例化file
    f := new(file)
    
    // 声明一个DataWriter的接口
    var writer DataWriter
    
    // 将接口赋值f,也就是*file类型
    writer = f
    
    // 使用DataWriter接口进行数据写入
    writer.WriteData("data")
}

二、实现接口的添加

1.接口的方法与实现接口的类型方法格式一致

2.接口中所有方法均要被实现

这个就是区别于Java一个很大的特点,如果没有全部实现,编译时会报错


<

你可能感兴趣的:(Golang,Golang学习笔记,Golang,go,接口,interface)