The language's pre-defined void type is used whenever we want to represent that no value is expected. This is useful in several circumstances:

There is only one possible value for a void type: nil. Any return or break statement that specifies no expression value is effectively returning a value of nil.

Zero-sized values may not be stored in memory. For this reason, one may not define a variable of type void nor allocate space for a new value of type void. However, it is fine for a struct to define a void-typed field, so long as at least one other field has a non-zero-sized type.