<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          KCL基于約束的記錄及函數(shù)語言

          聯(lián)合創(chuàng)作 · 2023-09-27 12:12

          Kusion 配置語言 (KCL, Kusion Configuration Language) 是一種開源配置語言,主要用于 Kusion Stack 開放協(xié)同技術棧。并且 KCL 是一種基于聲明性和面向對象編程 (OOP) 范式等概念,用于配置和策略場景的靜態(tài)類型語言。

          核心特性

          • 簡單
            • 源于 Python、Golang,融入函數(shù)語言特性
            • 吸收語句、表達式、條件、循環(huán)等語言元素
            • 類型和數(shù)據(jù)分離,Schema 聲明配置定義
          • 穩(wěn)定
            • 強不可變約束
            • 編譯時類型推導、類型檢查
            • Rule 策略定義:以屬性為中心的約束表達式、根據(jù)約束查詢結果
            • 可測試:語言內(nèi)置 assert 斷言、print 打印和測試工具
          • 可擴展
            • 配置合并:編譯時配置依賴圖代換
            • 配置屬性運算符:滿足配置覆蓋、合并、添加和刪除等需求
            • 配置復用:豐富的內(nèi)置數(shù)據(jù)結構和語法語義,輕松擴展同一份配置到不同場景
          • 工程化
            • Schema 單一繼承和聲明性模型復用和組裝
            • 工具和API 粒度的配置自動化“增刪改查”
            • 豐富的內(nèi)置函數(shù)和系統(tǒng)庫
            • 頂層數(shù)據(jù)動態(tài)導入
            • 代碼組織:模塊和包
            • 插件系統(tǒng):復用通用編程語言生態(tài)。
            • OpenAPI 模型支持:Swagger 與 Schema 雙向轉換,Kubernetes CRD 轉換為 Schema
          • 高性能
            • 配合 LLVM 優(yōu)化器、支持編譯到本地代碼和 WASM 等格式并高效執(zhí)行

          安裝 & 文檔

          如何安裝

          從 Github releases 頁面下載,并且將 {install-location}/kclvm/bin 添加到您的環(huán)境變量中

          快速開始

          ./samples/fib.k 是一個計算斐波那契數(shù)列的例子

          schema Fib:
              n1: int = n - 1
              n2: int = n1 - 1
              n: int
              value: int
          
              if n <= 1:
                  value = 1
              elif n == 2:
                  value = 1
              else:
                  value = Fib {n: n1}.value + Fib {n: n2}.value
          
          fib8 = Fib {n: 8}.value
          

          我們可以通過執(zhí)行如下命令得到 YAML 輸出

          kcl ./samples/fib.k
          

          YAML 輸出

          fib8: 21

          文檔

          更多文檔請訪問 https://kusionstack.io

          瀏覽 50
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产成人大香蕉 | 永久免费 未满看片软件 | 国产黄色视频在线观看免费 | 日韩成人无码Av播放 | 男人色色天堂 |