Go API
CUE 提供 Go API 所以你可以在 Go 程序中使用 Cuelang。
它比 cli 提供更多更细粒度和更精细的 API,有一些只能在 CUE 的 Go API 中使用的功能。
这一章节将带你进入 CUE 的 Go API,给你展示怎么在 Go 中做只有 CUE 相关的工作, 你将学到如何:
- 在 CUE 的值中加载 CUE 代码
- 不同方式打印 CUE 的值
- 提取 CUE 的值, 循环 CUE 的字段和列表
- 统一和校验 CUE 以及 Go 的值
- CUE 以及 Go 值的 Decode 和 Encode
- Go 值的校验、约束条件和补全
CUE 相关的 Go 文档
这些链接对你学习和使用 CUE Go API 将会非常有用。
cue - The main API for working with Values
cue/load - Load Cue instances in Go
cue/build - Build your loaded Cue instances
cue/format - Format and print Cue Values
cuego - Validate, constrain, or complete Go values
encoding - Parse and generate Yaml, JSON, Protobuf, JSONSchema, and OpenAPI*
* operations depend on the codec, some only work one direction
本章节相关的例子可以在 hofstadter-io/cutorials.com
找到,
在 code/api 目录下。
Before you start
cue
’s evaluator is not yet safe for concurrency. See the
section in cueology/futurology/concurrency