Define: Void
Denotes the absence of a type. It is used to express that something (usually a function) has no value.
Void
is a special case in the type system because it is not actually a type. It is used to express the absence of a type, which applies mostly to function arguments and return types.
We have already "seen" Void
in the initial "Hello World" example:
/** Multi-line comments for documentation. **/ class Main { static public function main():Void { // Single line comment trace("Hello World"); } }
The function type will be explored in detail in the section Function Type, but a quick preview helps here: the type of the function main
in the example above is Void->Void
, which reads as "it has no arguments and returns nothing."
Haxe does not allow fields and variables of type Void
and will complain if such a declaration is made:
// Arguments and variables of type Void are not allowed var x:Void;