小编Kar*_*sen的帖子

在没有明确声明的情况下,还有哪些其他语言支持Go的接口风格?

我是一个经验丰富的爱好程序员,我对C++,D,Java,C#和其他人非常熟悉.

除了Go之外,几乎所有语言都要求我明确声明我正在实现一个接口.这是边缘荒谬的,因为我们今天拥有像Haskell这样的语言的编译器,它几乎可以用很少的提示进行全程序类型的推断.

我正在寻找的是一种编程语言:

interface ITest {
    void Test();
}

class Test {
    void Test() { }
}

void main() {
    ITest x;
    x = new Test;
}
Run Code Online (Sandbox Code Playgroud)

哪些语言会看到这个,并自动标记Test为实现ITest

ETA:我不是在寻找鸭子打字.我正在寻找具有推断的严格类型语言.

c# java type-inference d interface

5
推荐指数
1
解决办法
208
查看次数

Python赋值quirk w/list index assign,dict index assign和dict.get

在红宝石2.4中:

x = ['a']
y = {}
x[0] = y[x[0]] = y.fetch(x[0], y.length)
puts y #=> {"a"=>0}
Run Code Online (Sandbox Code Playgroud)

在python 3.5中:

x = ['a']
y = {}
x[0] = y[x[0]] = y.get(x[0], len(y))
print(y) #=> {0: 0}
Run Code Online (Sandbox Code Playgroud)

为什么这个?

ETA:

y[x[0]] = x[0] = y.get(x[0], len(y))
Run Code Online (Sandbox Code Playgroud)

产生预期的行为(这让我很懊恼.)

ruby python variable-assignment

0
推荐指数
1
解决办法
57
查看次数

标签 统计

c# ×1

d ×1

interface ×1

java ×1

python ×1

ruby ×1

type-inference ×1

variable-assignment ×1