美文网首页
interface 实现简单的print功能

interface 实现简单的print功能

作者: 晓亮1988 | 来源:发表于2020-03-08 23:44 被阅读0次

第一步,新建立 test/testInterface.go 简单实现print功能的基本框架

package testInterface

type PrintMethod interface {
    OwnPrintMethod()
}
// 形参是接口类型,只要实现了接口的方法即可使用
func MyPrintMethod(pm PrintMethod) {
    pm.OwnPrintMethod()
}

第二步:使用方法,只要Book,Sentense实现接口方法OwnPrintMethod即可使用定义好的接口

package main

import (
    "fmt"
    "goweb/test"
)

// 定义Book 结构体
type Book struct {
    Content string
}

// 定义结构体
type Sentense struct {
    Content string
}

// 实现接口方法
func (b Book) OwnPrintMethod() {
    fmt.Println(b.Content)
}

// 实现接口方法
func (s Sentense) OwnPrintMethod() {
    fmt.Println(s.Content)
}

func main() {
    fmt.Println("start \n")

    // 初始化赋值
    book := Book{Content:"this is book"}

    // 初始化赋值
    sentense := Sentense{Content:"this is sentense"}

    testInterface.MyPrintMethod(book)
    testInterface.MyPrintMethod(sentense)

    fmt.Println("\n end \n")
}

这里充分体现了使用者定义的哲学,Book和Sentense分别定义了自己的Print模式,我们设计的Print模块负责基本功能的实现

相关文章

网友评论

      本文标题:interface 实现简单的print功能

      本文链接:https://www.haomeiwen.com/subject/yfwsdhtx.html