MST

星途 面试题库

面试题:Go语言中结构体组合实现接口的原理及示例

请解释在Go语言中,如何通过结构体组合来实现接口。请给出一个具体的代码示例,包含一个接口定义,两个结构体,其中一个结构体通过组合另一个结构体来实现该接口,并在 `main` 函数中展示如何使用。
32.1万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import "fmt"

// 定义一个接口
type Printer interface {
    Print()
}

// 被组合的结构体
type Base struct {
    message string
}

// 组合Base结构体的结构体
type PrinterImpl struct {
    Base
}

// PrinterImpl实现Printer接口的Print方法
func (p PrinterImpl) Print() {
    fmt.Println(p.message)
}

func main() {
    // 创建PrinterImpl实例
    var printer Printer = PrinterImpl{Base{message: "Hello, 通过结构体组合实现接口"}}
    printer.Print()
}