gpt4 book ai didi

golang接口(interface) "used as value"错误

转载 作者:数据小太阳 更新时间:2023-10-29 03:38:26 24 4
gpt4 key购买 nike

package main

import (
"fmt"
)

type animal interface {
speak()
}

type dog struct {
name, sound string
}

type cat struct {
name, sound string
}

func (d dog) speak() {
fmt.Println(d.name, " goes ", d.sound)
}

func (c cat) speak() {
fmt.Println(c.name, " goes ", c.sound)
}

func animal_speak(a animal) {
fmt.Println(a.speak())
}

func main() {

dogo := dog{"scooby", "woof"}
cato := cat{"garfield", "meow"}

animal_speak(dogo)
animal_speak(cato)

}

当我调用动物界面时,出现以下错误

./interface.go:28:21: a.speak() used as value

我做错了什么?

Link to playground

最佳答案

接口(interface)不作为值使用。您正在使用不返回任何值的函数调用。

speak() 什么都不返回...那么您希望它打印什么?

关于golang接口(interface) "used as value"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47977818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com