編集これは私の愚かなエラーによるものでしたが、他の誰かがこれを行った場合に備えて、質問は保持する価値があります.
これが機能することを願っています:
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
*実際には、一般的なパラメーター化された型ではないことはわかっています。