Represent optionality

Use nil (i.e. ()) to represent optional values.

Note: Use () instead of null unless it’s in a json context.

Example 1:

Use nil to indicate the unavailability of value.

Bad Code

type Employee record { string middleName = ""; //middleName is not specified };

Good Code

type Employee record { string? middleName = (); };

Example 2:

Return nil to indicate the unavailability of value.

Bad Code

function getMarks(string name) returns int { if marks.hasKey(name) { return marks.get(name); } return -1; }

Good Code

function getMarks(string name) returns int? { if marks.hasKey(name) { return marks.get(name); } return (); }

See Also: