1- # 一些轻量类型
1+ # 实用类型
22## 无
33类型 ` Nothing ` 具有的唯一值是 ` nothing ` 。
44它对应 ` C ` 中的 ` void ` ,也广泛用于普通变量的初始化、保留值等。
@@ -14,9 +14,9 @@ julia> x = nothing
1414类型名为 ` UndefInitializer ` ,通常用于数组初始化,可以用 ` undef ` 作为 ` UndefInitializer() ` 的缩写,[ 详细信息见此] ( ../advanced/undef.md ) 。
1515
1616## 元组
17- ` Tuple ` 类型的实例可以容纳任意有限多个数据,这在你不希望[ 创建新类型] ( ../advanced/struct.md#复合类型 ) ,而又想表达有一定复杂性的数据时显得尤为方便。对于更复杂的情况,则可以使用[ ] ( ../advanced/typesystem.md#具名元组类型 ) 。
17+ ` Tuple ` 类型的实例可以容纳任意有限多个数据,这在你不希望[ 创建新类型] ( ../advanced/struct.md#复合类型 ) ,而又想表达有一定复杂性的数据时显得尤为方便。对于更复杂的情况,则可以使用[ 具名元组类型 ] ( ../advanced/typesystem.md#具名元组类型 ) 。
1818``` julia-repl
19- julia> tup = (1,2, 3)
19+ julia> tup = (1, 2, 3)
2020(1, 2, 3)
2121
2222julia> typeof(tup) # 这表明 tup 的 3 个参数类型均为 Int64
3131julia> tup[1] # 获取第一个数据
32321
3333
34- julia> (1,2, 3) == (1,2, 4) # 多个元素比较的一种简便方法
34+ julia> (1, 2, 3) == (1, 2, 4) # 多个元素比较的一种简便方法
3535false
3636```
3737
3838除了按照索引获取数据外,还可以使用以下语法糖
3939``` julia-repl
40- julia> a,b, c = (1,2, 3)
40+ julia> a, b, c = (1, 2, 3)
4141(1, 2, 3)
4242
43- julia> (a,b, c) = (1,2, 3)
43+ julia> (a, b, c) = (1, 2, 3)
4444(1, 2, 3)
4545
46- julia> _,d, _ = (1,2, 3) # _ 不是合规的变量名,在此语法中表示缺失
46+ julia> _, d, _ = (1, 2, 3) # _ 的含义为相应的值被主动忽略
4747(1, 2, 3)
4848
4949julia> d
50502
51+
52+ julia> e = (false, ) # 因为 (false) 会变成 false
53+ (false,)
54+
55+ julia> length(e)
56+ 1
5157```
5258
5359## 对
@@ -65,13 +71,19 @@ julia> pair.second
6571注意不要将元组与对搞混
6672
6773## 共用
68- 可以使用 ` Union{Type1, Type2...} ` 声明一个新[ 类型] ( ../advanced/typesystem.md ) ,它的实例是 ` Type1 ` 、` Type2 ` ……之一 。
74+ 可以使用 ` Union{Type1, Type2...} ` 声明一个新[ 类型] ( ../advanced/typesystem.md ) ,它的实例可以取 ` Type1 ` 、` Type2 ` 等等中任一个 。
6975``` julia-repl
70- julia> MyType = Union{Bool,Int,Float64}
71- Union{Bool, Int64}
76+ julia> MyType = Union{Bool, Int, Float64}
77+ Union{Bool, Float64, Int64}
7278
7379julia> isa(true, MyType)
7480true
81+
82+ julia> un:: MyType = 1
83+ 1
84+
85+ julia> un = 1.0
86+ 1.0
7587```
7688
7789## 区分
0 commit comments