Nim Reference

Common constructs

const x = 5 Compile-time constant
let y = "Hello" Immutable binding
var z = [1, 2, 3] Mutable variable
proc name(param: int): ReturnType = body
method name(param: float): ReturnType = body
iterator items(list: seq[int]): int = body
template name(param: typed) = body
macro name(param: string): untyped = body
if x > 5: bodyelif y == "Hello": bodyelse: body case xof 5: bodyof 1, 2, 3: bodyof 6..30: body
for item in list: body for i in 0..<len(list): body
while x == 5: if y.len > 0: break else: continue try: raise errexcept Exception as exc: echo(exc.msg)finally: discard

Input/Output

echo(x, 42, "text") readFile("file.txt")
stdout.write("text ...

Get Nim in Action now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.