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'
  }
};
目录
打赏
0
0
0
0
114
分享
相关文章
Go 语言学习之基础数据类型
Go 语言学习之基础数据类型
72 0
|
5月前
|
Go
Golang语言高级数据类型之指针篇
这篇文章详细讲解了Golang语言中的指针概念、指针地址和类型、定义指针变量、指针的细节操作、指针传值,以及内置函数new和make的用法和它们之间的区别。
56 0
|
5月前
|
Go
Golang语言基础数据类型之字符类型
这篇文章介绍了Go语言中的字符类型,包括字符概述、byte和rune类型的定义、转义字符的使用以及如何遍历字符串获取字符的示例。
30 0
Golang 语言该用命名返回值吗?
Golang 语言该用命名返回值吗?
53 0
|
9月前
|
Swift 语言:什么是可选类型(Optional)?如何处理可选类型的安全解包?
Swift的可选类型是处理值可能缺失的类,用?表示。它们能表示有值或无值状态。安全解包用`if let`或`guard let`避免崩溃,而强制解包`!`则风险较高,若值为`nil`会触发运行时错误。
62 0
C++语言中类型定义
C++语言中类型定义
183 0
|
9月前
|
Go 语言基本类型和运算符用法
Go 语言基本类型和运算符用法
43 0
Go 语言变量类型和声明详解
在Go中,有不同的变量类型,例如: int 存储整数(整数),例如123或-123 float32 存储浮点数字,带小数,例如19.99或-19.99 string - 存储文本,例如“ Hello World”。字符串值用双引号括起来 bool 存储具有两个状态的值:true或false
145 0
Golang 语言中的非类型安全指针
Golang 语言中的非类型安全指针
68 0
Go 语言泛型编程之切片
Go 现在都支持泛型了,我们该怎么利用泛型的特点。 利用类型参数来写出真实世界的代码。 泛型在实际中有什么用途呢? 在没有泛型之前 Go 不能实现什么样的代码?
Go 语言泛型编程之切片

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等