Selector(意译)

【EBNF定义】Selector = "." identifier 【EBNF解释】就是说一个'.'加上一个标识符就是一个 Selector 。 【翻译】个人觉得不能翻译成选择器,应该翻译成一次选择,因为这是一个选择的过程,见后文。 【含义】 x.f 这个选择表达式中, f 就称之为 Selector ,就是一次选择,这次选择可能选择了类型为T的一个结构体中的一个 field ,也有可能选择了这个类型相关联的 method 。更重要的是,还有可能是选择了...阅读全文

2016-04-07 08:34:01

Type identity(意译)

两种类型要么是 identical(完全一致的),要么是different(不同的)。 1.两种 named type, 如果 传承自同样的 TypeSpec(声明),那么就是 identical(自己跟自己相同,除此之外任何两种 named type 都不同) ,否则就是 different。 2.对于 unnamed type ,判定 identical 具体规则如下: -- array type:其中元素类型和数组长度都相同。 -- slice type...阅读全文

2016-04-07 10:55:49

Assignability(意译)

只有在下述情况中,一个 value x 才能被赋值到一个 type 为 T 的 variable 中: - x 的 type 和 T 是 identical。 - 假设 x 的 type 是 V 。 V 和 T 具有相同的 underlying type , V 和 T 至少有一个不是 named type。 - T 是一个 interface type , x implements T。 - x 是一个 双向 channel 的 value , T 是一个 ch...阅读全文

2016-04-08 09:37:06

Underlying type(意译)

每种 type T 都有一个 underlying type : - 如果 T 是以下几种 -> 【 boolean(布尔类型) | numeric(数字类型) | string(字符串) | type literal(type 字面量: unamed type) 】 那么 T 的 underlying type 就是 T 本身。 - 除此之外,T 的 underlying type 跟 T 在声明时引用的 type 相同。 几个例子: type T1...阅读全文

2016-04-08 09:54:57

Promoted(意译)

【定义】 在一个 struct x 中,如果一个 anonymous field 包含有 field f 或者 method f,而且 x.f 是一次合法的 selector,那么就称这个 field f 或者 method f 是 promoted。 【对于 method set 的影响】给出一个 struct , type 为 S。给出一个 named type T 。Promoted methods 会扩充进 S 的 method set 中,规则如下: - 如果 S 包...阅读全文

2016-04-09 08:18:27

Constants(意译)

1.有以下几种 constants : rune , integer , floating-point , complex , string 。 其中, rune , integer , floating-point , complex constants 被称作 numeric constants 。 2.constant value 由下列情况给出: - 【 rune , integer , floating-point , imaginary , string...阅读全文

2016-04-11 17:55:16