🌯Wrapper Types

Wrapper types are equivalent to "Named Types" in Golang

Wrapper Type Syntax

wrapper <existing type to be wrapped> <Wrapper type name>

Working Example

package main

import "fmt" as fmt

wrapper Int Dollars

fun addDollars(currentAmount: Dollars, amountToAdd: Int): Dollars {
  return Dollars(((Int)(currentAmount)) + amountToAdd)
}

fun printDollars(amount: Dollars): Unit {
  fmt.println(amount)
}

fun main(): Unit {
  let dollarsIHave = Dollars(100)
  let newAmount = addDollars(dollarsIHave, 900)
  printDollars(newAmount)
}

Last updated