首页 > 试题广场 >

在 Go 语言中,定义一个接口类型 `type Writer

[单选题]
在 Go 语言中,定义一个接口类型 `type Writer interface { Write([]byte) error }`。如果自定义类型 `MyWriter` 实现了一个方法 `Write(data []byte) int`(返回类型为 int),会发生什么情况?
  • 编译通过,`MyWriter` 实现了 Writer 接口,因为方法名称相同。
  • 编译错误,因为接口实现要求函数签名完全匹配。
  • 运行时 panic,当试图将 `MyWriter` 赋值给 Writer 类型变量时。
  • 编译通过,但调用时自动将返回值转换为 error 类型。
这题目真抽象,又没说代码中有存在将MyWriter赋值给Writer,编译不一定报错,不赋值时怎么声明都是对的,但是C说是运行时错误,也是错的,编译期间可以检查出来这个问题。只能用排除法得到B
发表于 2025-10-12 11:55:57 回复(0)