# 数据类型

> 

Dujie 当前提供一组面向 UI DSL 的基础类型和参数化类型。

## 总体规则

- Dujie 是静态类型语言
- 普通值默认按值语义理解
- `let` 表示不可变绑定，`var` 表示可变绑定
- 当前公开整数类型只有 `int`

## 基本类型

- [基本类型](./01.basic_types)
- `int`
- `float`
- `bool`
- `rune`
- `string`

## 参数化类型

- [复合类型](./02.composite_types)
- `list<T>`
- `map<K, V>`
- `opt<T>`
- `iter<T>`
- `any`
- `widget`

## 名义类型

- [结构体](./04.struct)
- `struct` 是具名的名义类型

## 内建表面

- [内建类型表面](./05.built-in-surface)
- 当前点调用只出现在语言内建方法上
- 当前没有公开的内建属性和内建结构体

## 类型推导

- [类型推导](./03.type_inference)
- 推导只发生在结果唯一时
- `[]`、`{}`、`none` 这类表达式需要上下文或显式标注

## 说明

更完整的设计背景见：

- `docs/01.design/09.type-system.md`
- `docs/01.design/11.value-and-sharing-semantics.md`
