π―Wrapper Types
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)
}package main
import fmt "fmt"
type dollars int
func addDollars(currentAmount dollars, amountToAdd int) dollars {
return dollars((int(currentAmount)) + amountToAdd)
}
func printDollars(amount dollars) {
fmt.Println(amount)
}
func main() {
dollarsIHave := dollars(100)
newAmount := addDollars(dollarsIHave, 900)
printDollars(newAmount)
// Eliminates any 'unused variable' errors
_, _ = dollarsIHave, newAmount
}
Last updated