- Julia 1.0 Programming Complete Reference Guide
- Ivo Balbaert Adrian Salceanu
- 295字
- 2021-06-24 14:21:49
Concrete and abstract types
In this hierarchy, some types, such as Number, Integer, and Signed, are abstract, which means that they have no concrete objects or values of their own. Instead, objects or values are of concrete types given by the result of applying typeof(value), such as Int8, Float64, and String. For example, the concrete type of the value 5 is Int64 given by typeof(5) (on a 64-bit machine). However, a value also has the type of all of its supertypes; for example, isa(5, Number) returns true (we introduced the isa function in the Types section of Chapter 2, Variables, Types, and Operations).
Concrete types have no subtypes and might only have abstract types as their supertypes. Schematically, we can differentiate them as follows:

An abstract type (such as Number and Real) is only a name that groups multiple subtypes together, but it can be used as a type annotation or used as a type in array literals. These types are the nodes in the type hierarchy that mainly serve to support the type tree. Also, note that an abstract type cannot have any fields.
The abstract type Any is the supertype of all types, and all the objects are also instances of Any.
At the other end is Union{}: this type has no values and no subtypes. All types are supertypes of Union{} , and no object is an instance of Union{}. It is unlikely that you will ever have to use this type. The Nothing type has one value called nothing.
When a function is only used for its side-effects, convention dictates that it returns nothing. We have seen this with the println function, where the printing is the side-effect, for instance:
x = println("hello") #> hello x == nothing #> true
- ClickHouse性能之巔:從架構(gòu)設(shè)計(jì)解讀性能之謎
- 軟件測(cè)試項(xiàng)目實(shí)戰(zhàn)之性能測(cè)試篇
- Mastering Swift 2
- MongoDB權(quán)威指南(第3版)
- Visual Basic程序設(shè)計(jì)
- Python Data Science Cookbook
- 玩轉(zhuǎn).NET Micro Framework移植:基于STM32F10x處理器
- Akka入門與實(shí)踐
- Java EE 程序設(shè)計(jì)
- Elasticsearch實(shí)戰(zhàn)(第2版)
- Python量子計(jì)算實(shí)踐:基于Qiskit和IBM Quantum Experience平臺(tái)
- SQL Server 2012數(shù)據(jù)庫(kù)管理與開發(fā)(慕課版)
- Game Development with SlimDX
- Build Applications with Meteor
- 青少年學(xué)三維圖形化編程