Skip to content

类型与推断

nim 支持类型推断

let a = 5
echo typeof(a) # int
var x = int(7/3.0)
echo typeof(x) # int

对于一个值可以被多个类型存储时可以考虑显式指定, nim 采用后置类型声明:

1
2
3
4
let a = 5
echo typeof(a) # int
let b: float64 = 5
echo typeof(b) # float64

nim 不能像 rust 一样根据 后续 来推断类型: ヾ(▼ヘ▼;)

1
2
3
4
var y = @[]
y.add("hello")
y.add("world")
echo repr(y)

此时需要显式指定:

var y: seq[string] = @[]