当前位置: 首页 > article >正文

《零基础Go语言算法实战》【题目 2-16】接口的实现

《零基础Go语言算法实战》

【题目 2-16】接口的实现

下面的代码是否可以编译通过?为什么?

package main

import (

 "fmt"

)

type Animal interface {

 Call(string) string

}

type Cat struct{}

func (cat *Cat) Call(sound string) (barking string) {

 if sound == "dog barking" {

 barking = "woof"

 } else {

 barking = "meow"

 }

 return

}

func main() {

 var a Animal = Cat{}

 sound := "meow"

 fmt.Println(a.Call(sound))

}

【解答】

编译失败,值类型 Cat{} 未实现接口 Animal 的方法,不能定义为 Animal 类型。在 Go 语

言中,Cat 和 *Cat 是两种类型,前者表示 Cat 本身,后者表示指向 Cat 的指针。

ac437ccdb8714339a79726067d156103.png

 


http://www.kler.cn/a/501335.html

相关文章:

  • 高可用虚拟IP-keepalived
  • spring ApplicationContextAware的使用和执行时机
  • 专题 - STM32
  • 【优选算法篇】:深入浅出位运算--性能优化的利器
  • 潜力巨大但道路曲折的量子计算
  • // Error: line 1: XGen: Candidate guides have not been associated!
  • PCL 连通域点云聚类
  • Web开发中页面出现乱码的解决(Java Web学习笔记:需在编译时用 -encoding utf-8)
  • 为AI聊天工具添加一个知识系统 之27 支持边缘计算设备的资源存储库及管理器
  • 【YashanDB知识库】崖山BIT类型对MYSQL兼容问题
  • 接口测试之测试原则、测试用例、测试流程
  • python循环结构(for)
  • ros2笔记-4.3 用C++做一个巡逻海龟
  • 将PHP函数转换为Python
  • 人才选拔中,如何优化面试流程
  • 项目开发版本控制Git流程规范
  • 【Linux】Linux软件包管理
  • 接口项目功能说明-thinkphp6-rabbitmq
  • pip工具安装第三方库
  • 【深度学习基础与pytorch基础】1机器学习的定义与分类以及机器学习、深度学习和人工智能之间的关系
  • 【PyQt】常用控件button
  • 在线工具箱源码优化版
  • 小白项目部署:anaconda环境+pycharm+yolov5(虚拟机环境)
  • Pulsar客户端如何控制内存使用
  • QCC3040主端音频蓝牙模块在跑步机(健身车)中的应用
  • 【python基础】python内置函数 zip用法介绍