Darabonba 语言学习--复合类型

简介: 简介: 本篇文章仅作为本人学习记录,如涉及侵权问题。及时联系作者,予以删除。

复合类型


介绍


除了上文介绍的基础类型外,Darabonba 还提供了 Array(数组)、Mapobject 这样的复合类型为开发者生成各语言代码提供了更多的支持。


Array


Darabonba 像其他语言一样可以操作数组元素,它携带一个叫做元素类型的描述。可以通过 [ itemType ] 的方式来定义数组,其中的 itemType 可以是基础类型、复合类型以及 Model


var numArr: [ number ] = [1, 2, 3];
var strArr: [ string ] = ['a', 'b', 'c'];
var anyArr: [ any ] = ['1', '2', 3, true, [1, 'a']];
var complexArr: [ map[string]string ] = [{ str1 = 'string' }, { str2 = 'string' }];


Map


Darabonba 提供了 Map 类型是用来处理那些无法枚举其属性的对象。Map 有两个类型分别为 keyTypevalueType。声明方式为 map[keyType]valueType。这里的 keyType 只能为 string 类型,而 valueType 可以为基础类型、复杂类型及 Model


var numMap: map[string]number = {
  num = 1
};
var strMap: map[string]string = {
  str = 'string'
};
var anyMap: map[string]any = {
  str = 'string',
  num = 1,
  bool = true,
  subMap = {
    subStr = 'string'
  }
};


object


Darabonba 提供了 object 类型,等价于 map[string]any


var obj: object = {
  str = 'string',
  num = 1,
  bool = true,
  subMap = {
    subStr = 'string'
  }
};
相关文章
|
8月前
|
Go
Go 语言学习之基础数据类型
Go 语言学习之基础数据类型
46 0
|
9月前
|
存储 编译器 Go
Go 语言内置类型全解析:从布尔到字符串的全维度探究
Go 语言内置类型全解析:从布尔到字符串的全维度探究
61 0
N..
|
1月前
|
存储 Dart
Dart语言的内置数据类型
Dart语言的内置数据类型
N..
11 0
|
8月前
|
Go
Golang 语言该用命名返回值吗?
Golang 语言该用命名返回值吗?
22 0
|
8月前
|
Go
Golang 语言极简类型转换库 cast
Golang 语言极简类型转换库 cast
37 0
|
8月前
|
存储 Dart JavaScript
【Dart语言解密】想要深入了解Dart语法和类型变量吗?
【Dart语言解密】想要深入了解Dart语法和类型变量吗?
136 0
|
11月前
|
存储 Dart 安全
《深入浅出Dart》变量与数据类型
变量与数据类型 在探索Dart语言的世界之前,我们首先需要熟悉一些基础的语法,包括如何声明和使用变量,以及理解Dart中的基础数据类型。 变量与声明方式 变量是我们在编程中存储和操控数据的基本单位。在Dart中,我们有多种方式来声明和使用变量。 - 使用 var 来声明一个变量,Dart会自动推断出变量类型。
57 0
pyhton数据类型(上)
pyhton数据类型(上)
|
搜索推荐 Go API
Go 语言泛型编程之切片
Go 现在都支持泛型了,我们该怎么利用泛型的特点。 利用类型参数来写出真实世界的代码。 泛型在实际中有什么用途呢? 在没有泛型之前 Go 不能实现什么样的代码?
Go 语言泛型编程之切片