Kusio配置语言(KCL,KusioCofiguratioLaguage)是一种开源配置语言,主要用于 KusioStack 开放协同技术栈。并且KCL是一种基于声明性和面向对象编程(OOP)范式等概念,用于配置和策略场景的静态类型语言。
核心特性简单源于Pytho、Golag,融入函数语言特性吸收语句、表达式、条件、循环等语言元素类型和数据分离,Schema声明配置定义稳定强不可变约束编译时类型推导、类型检查Rule策略定义:以属性为中心的约束表达式、根据约束查询结果可测试:语言内置assert断言、prit打印和测试工具可扩展配置合并:编译时配置依赖图代换配置属性运算符:满足配置覆盖、合并、添加和删除等需求配置复用:丰富的内置数据结构和语法语义,轻松扩展同一份配置到不同场景工程化Schema单一继承和声明性模型复用和组装工具和API粒度的配置自动化“增删改查”丰富的内置函数和系统库顶层数据动态导入代码组织:模块和包插件系统:复用通用编程语言生态。OpeAPI模型支持:Swagger与Schema双向转换,KuberetesCRD转换为Schema高性能配合LLVM优化器、支持编译到本地代码和WASM等格式并高效执行安装&文档如何安装从Githubreleases页面下载,并且将 {istall-locatio}/kclvm/bi 添加到您的环境变量中快速开始./samples/fib.k 是一个计算斐波那契数列的例子schemaFib:1:it=-12:it=1-1:itvalue:itif<=1:value=1elif==2:value=1else:value=Fib{:1}.value+Fib{:2}.valuefib8=Fib{:8}.value我们可以通过执行如下命令得到YAML输出kcl./samples/fib.kYAML输出fib8:21文档更多文档请访问 https://kusiostack.io点击空白处退出提示










评论