编辑这是由于我的一个愚蠢的错误,但这个问题值得保留,以防其他人这样做。超越uint8切片的距离?
我希望这个作品:
var xs []uint8
var x uint8
for x = range xs {
}
但我得到的错误:
cannot assign type int to x (type uint8) in range
即(据我所知)的range
,即使它是在一片操作的uint8
,试图使用int
作为迭代值。
我已经通过语言规范看,相关的位:
Range expression 1st value 2nd value (if 2nd variable is present)
array or slice a [n]E, *[n]E, or []E index i int a[i] E
,所以我希望它是E
的“参数化类型” *,在这种情况下uint8
不int
。
我是否抓住了棍子的错误末端?是否有一些我错过的文档?或者我真的不能迭代uint8
切片与uint8
变量?
*我知道这不是一个真正的通用参数化类型。
那是愚蠢的。我知道。忘了。谢谢! – Joe
@Joe - 不用客气,我添加了JavaScript样本,因为我经常忘记“它”而不是语言。 –