Ответ 1
Джулиевым эквивалентом None
является константа nothing
: значение, возвращаемое выражениями и функциями, которые не имеют ничего интересного для возврата. На обоих языках это значение не печатается в интерактивной подсказке, когда выражение вычисляет его, но в остальном это просто обычное значение. В этом нет ничего волшебного, кроме печатного поведения и того факта, что люди соглашаются по соглашению, что это значение возвращается, когда нет ничего интересного для возвращения. Тип nothing
называется Void
после возвращаемого типа функций C, и ничего интересного не возвращается.
Система типов Julia также может выражать концепцию, что выражение не может давать никакого значения - например, если оно выдает ошибку или является частью основного блока, который не может быть выполнен (мертвый код). Типом выражения, которое никогда не может создать значение, является пустой тип объединения Union{}
: объединение нулевых типов, экземплярами которого не являются значения. Это отличается от типа nothing
- поскольку nothing
является нормальным (но неинтересным) значением, поэтому оно не может быть экземпляром Union{}
.
Смотрите также: