无法使用 uint8 类型初始化数组

Can't init array with uint8 type

我尝试使用以下表达式初始化数组:

const a: array[3, uint8] = [1, 2, 3]
echo repr(a)

编译器输出:

Error: type mismatch: got <array[0..2, int]> but expected 'array[0..2, uint8]'

有没有传统的方法可以做到?

您正在使用 int[] 表达式初始化 uint8[]。为了正确初始化它,您需要使用兼容的文字。

例如:

const a: array[3, uint8] = [1'u8, 2, 3]

通过使用 'u8 后缀将数组表达式的初始元素标记为 uint8,您可以使整个数组表达式成为 uint8[]。