Nim语言Table赋值时出现Type mismatch错误求助
Nim std/tables 类型不匹配错误解决方法
你编写的Nim代码:
import std/tables let tableTest = initTable[int, string]() tableTest[2] = "hello world"
运行时出现的类型不匹配错误,核心原因是用let声明的Table是不可变的,而[]=赋值操作需要操作可变的Table实例。
修正后的代码
import std/tables var tableTest = initTable[int, string]() tableTest[2] = "hello world"
原因说明
- Nim中
let用于创建不可变绑定,变量初始化后无法修改其内容; var用于创建可变变量,支持后续的赋值、修改操作;- std/tables库的
[]=过程要求第一个参数是var Table[A,B]类型,所以必须用var来声明你的Table变量。
内容的提问来源于stack exchange,提问作者Flare
相关产品推荐
相关产品推荐

