# 导出

> 

当前只支持导出顶层 `func` 和顶层 `struct`。

## 导出函数

```dj
export func greet(name: string) -> string {
    `hello ${name}`
}
```

## 导出结构体

```dj
export struct User {
    name: string,
    age: int,
}
```

## 规则

- 只有顶层声明可以导出
- 不写 `export` 的顶层符号默认模块私有
- 当前不支持 `export { ... }`
- 当前不支持 `export * from ...`
- `main` 不需要 `export`

## 说明

模块是否被当作入口模块，由构建或运行系统决定，不由 `export` 决定。
