我是一个有一定经验的业余程序员,对C++、D、Java、C#等语言很熟悉。
除了Go语言之外,几乎每一种语言都要求我明确声明我正在实现一个接口。这几乎是荒谬的,因为我们今天已经有像Haskell这样的语言的编译器,它可以使用非常少量的提示进行几乎全程序类型推断。
我正在寻找这样一种编程语言:
interface ITest {
void Test();
}
class Test {
void Test() { }
}
void main() {
ITest x;
x = new Test;
}
哪些语言会自动标记 Test
为实现了 ITest
?
预计时间: 我不是在寻找鸭子类型。我正在寻找具有推断的严格类型语言。
Test()
函数的任何对象上调用它,而无需声明接口。 - Denys Séguret