[{"data":1,"prerenderedAt":729},["ShallowReactive",2],{"navigation":3,"-guide-data-types-composite-types":239,"-guide-data-types-composite-types-surround":726},[4,159],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"指南","\u002Fguide","00.guide\u002F00.index",[9,11,16,21,53,84,116,142],{"title":5,"path":6,"stem":7,"icon":10},"lucide:book",{"title":12,"path":13,"stem":14,"icon":15},"快速开始","\u002Fguide\u002Fgetting-started","00.guide\u002F01.getting-started","lucide:rocket",{"title":17,"path":18,"stem":19,"icon":20},"基础语法","\u002Fguide\u002Fbasic-syntax","00.guide\u002F02.basic-syntax","lucide:code-2",{"title":22,"path":23,"stem":24,"children":25,"icon":27},"数据类型","\u002Fguide\u002Fdata-types","00.guide\u002F03.data-types\u002F00.index",[26,28,33,38,43,48],{"title":22,"path":23,"stem":24,"icon":27},"lucide:database",{"title":29,"path":30,"stem":31,"icon":32},"基本类型","\u002Fguide\u002Fdata-types\u002Fbasic_types","00.guide\u002F03.data-types\u002F01.basic_types","lucide:type",{"title":34,"path":35,"stem":36,"icon":37},"复合类型","\u002Fguide\u002Fdata-types\u002Fcomposite_types","00.guide\u002F03.data-types\u002F02.composite_types","lucide:layers",{"title":39,"path":40,"stem":41,"icon":42},"类型推导","\u002Fguide\u002Fdata-types\u002Ftype_inference","00.guide\u002F03.data-types\u002F03.type_inference","lucide:brain-circuit",{"title":44,"path":45,"stem":46,"icon":47},"结构体","\u002Fguide\u002Fdata-types\u002Fstruct","00.guide\u002F03.data-types\u002F04.struct","lucide:box-select",{"title":49,"path":50,"stem":51,"icon":52},"内建类型表面","\u002Fguide\u002Fdata-types\u002Fbuilt-in-surface","00.guide\u002F03.data-types\u002F05.built-in-surface","lucide:wrench",{"title":54,"path":55,"stem":56,"children":57,"icon":59},"流程控制","\u002Fguide\u002Fcontrol-flow","00.guide\u002F04.control-flow\u002F00.index",[58,60,64,69,74,79],{"title":54,"path":55,"stem":56,"icon":59},"lucide:git-branch",{"title":61,"path":62,"stem":63,"icon":59},"if 表达式","\u002Fguide\u002Fcontrol-flow\u002Fif-expressions","00.guide\u002F04.control-flow\u002F01.if-expressions",{"title":65,"path":66,"stem":67,"icon":68},"for 循环","\u002Fguide\u002Fcontrol-flow\u002Ffor-loops","00.guide\u002F04.control-flow\u002F02.for-loops","lucide:repeat",{"title":70,"path":71,"stem":72,"icon":73},"break 和 continue","\u002Fguide\u002Fcontrol-flow\u002Fbreak-continue","00.guide\u002F04.control-flow\u002F03.break-continue","lucide:skip-forward",{"title":75,"path":76,"stem":77,"icon":78},"return","\u002Fguide\u002Fcontrol-flow\u002Freturn","00.guide\u002F04.control-flow\u002F04.return","lucide:corner-up-left",{"title":80,"path":81,"stem":82,"icon":83},"注意事项","\u002Fguide\u002Fcontrol-flow\u002Fnotes","00.guide\u002F04.control-flow\u002F05.notes","lucide:alert-triangle",{"title":85,"path":86,"stem":87,"children":88,"icon":90},"函数","\u002Fguide\u002Ffunctions","00.guide\u002F05.functions\u002F00.index",[89,91,96,101,106,111],{"title":85,"path":86,"stem":87,"icon":90},"lucide:braces",{"title":92,"path":93,"stem":94,"icon":95},"基础函数","\u002Fguide\u002Ffunctions\u002Fbasic-functions","00.guide\u002F05.functions\u002F01.basic-functions","lucide:function-square",{"title":97,"path":98,"stem":99,"icon":100},"参数与默认值","\u002Fguide\u002Ffunctions\u002Fadvanced-parameters","00.guide\u002F05.functions\u002F02.advanced-parameters","lucide:settings-2",{"title":102,"path":103,"stem":104,"icon":105},"匿名函数","\u002Fguide\u002Ffunctions\u002Fclosures","00.guide\u002F05.functions\u002F03.closures","lucide:curly-braces",{"title":107,"path":108,"stem":109,"icon":110},"内建函数","\u002Fguide\u002Ffunctions\u002Fbuiltin-functions","00.guide\u002F05.functions\u002F04.builtin-functions","lucide:box",{"title":112,"path":113,"stem":114,"icon":115},"main 函数","\u002Fguide\u002Ffunctions\u002Fmain-function","00.guide\u002F05.functions\u002F05.main-function","lucide:play",{"title":117,"path":118,"stem":119,"children":120,"icon":37},"模块化","\u002Fguide\u002Fmodules","00.guide\u002F06.modules\u002F00.index",[121,122,127,132,137],{"title":117,"path":118,"stem":119,"icon":37},{"title":123,"path":124,"stem":125,"icon":126},"导出","\u002Fguide\u002Fmodules\u002Fexport","00.guide\u002F06.modules\u002F01.export","lucide:upload",{"title":128,"path":129,"stem":130,"icon":131},"导入","\u002Fguide\u002Fmodules\u002Fimport","00.guide\u002F06.modules\u002F02.import","lucide:download",{"title":133,"path":134,"stem":135,"icon":136},"最佳实践","\u002Fguide\u002Fmodules\u002Fbest-practices","00.guide\u002F06.modules\u002F03.best-practices","lucide:check-circle-2",{"title":138,"path":139,"stem":140,"icon":141},"完整示例","\u002Fguide\u002Fmodules\u002Fcomplete-example","00.guide\u002F06.modules\u002F04.complete-example","lucide:file-code-2",{"title":143,"path":144,"stem":145,"children":146,"icon":148},"高级特性概述","\u002Fguide\u002Fadvanced","00.guide\u002F07.advanced\u002F00.index",[147,149,154],{"title":143,"path":144,"stem":145,"icon":148},"lucide:zap",{"title":150,"path":151,"stem":152,"icon":153},"泛型","\u002Fguide\u002Fadvanced\u002Fgenerics","00.guide\u002F07.advanced\u002F05.generics","lucide:git-merge",{"title":155,"path":156,"stem":157,"icon":158},"类型转换","\u002Fguide\u002Fadvanced\u002Ftype-conversion","00.guide\u002F07.advanced\u002F06.type-conversion","lucide:refresh-cw",{"title":160,"path":161,"stem":162,"children":163,"icon":15},"设计","\u002Fdesign","01.design\u002F00.index",[164,165,169,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,232,235],{"title":160,"path":161,"stem":162,"icon":15},{"title":166,"path":167,"stem":168},"CST 特性","\u002Fdesign\u002Fcst-features","01.design\u002F01.cst-features",{"title":170,"path":171,"stem":172},"注释关联规则","\u002Fdesign\u002Fcomment-association","01.design\u002F02.comment-association",{"title":174,"path":175,"stem":176},"错误处理","\u002Fdesign\u002Ferror-handling","01.design\u002F03.error-handling",{"title":178,"path":179,"stem":180},"代码优化","\u002Fdesign\u002Foptimization","01.design\u002F04.optimization",{"title":182,"path":183,"stem":184},"注释保留","\u002Fdesign\u002Fcomments","01.design\u002F05.comments",{"title":186,"path":187,"stem":188},"结构体设计","\u002Fdesign\u002Fstruct-design","01.design\u002F06.struct-design",{"title":190,"path":191,"stem":192},"comparable 约束设计","\u002Fdesign\u002Fcomparable-constraint","01.design\u002F07.comparable-constraint",{"title":194,"path":195,"stem":196},"文档分层约定","\u002Fdesign\u002Fdocumentation-convention","01.design\u002F08.documentation-convention",{"title":198,"path":199,"stem":200},"类型系统总纲","\u002Fdesign\u002Ftype-system","01.design\u002F09.type-system",{"title":202,"path":203,"stem":204},"泛型系统","\u002Fdesign\u002Fgenerics-system","01.design\u002F10.generics-system",{"title":206,"path":207,"stem":208},"值语义与共享语义","\u002Fdesign\u002Fvalue-and-sharing-semantics","01.design\u002F11.value-and-sharing-semantics",{"title":210,"path":211,"stem":212},"函数与调用","\u002Fdesign\u002Ffunctions-and-calls","01.design\u002F12.functions-and-calls",{"title":214,"path":215,"stem":216},"表达式与语句","\u002Fdesign\u002Fexpressions-and-statements","01.design\u002F13.expressions-and-statements",{"title":218,"path":219,"stem":220},"模块系统","\u002Fdesign\u002Fmodule-system","01.design\u002F14.module-system",{"title":222,"path":223,"stem":224},"渲染内建","\u002Fdesign\u002Frender-intrinsics","01.design\u002F15.render-intrinsics",{"title":226,"path":227,"stem":228},"Any 设计","\u002Fdesign\u002Fany-design","01.design\u002F16.any-design",{"title":49,"path":230,"stem":231},"\u002Fdesign\u002Fbuilt-in-types-surface","01.design\u002F17.built-in-types-surface",{"title":107,"path":233,"stem":234},"\u002Fdesign\u002Fbuilt-in-functions","01.design\u002F18.built-in-functions",{"title":236,"path":237,"stem":238},"内建结构体与运行时类型","\u002Fdesign\u002Fbuilt-in-structs-and-runtime-types","01.design\u002F19.built-in-structs-and-runtime-types",{"id":240,"title":34,"body":241,"description":264,"extension":721,"meta":722,"navigation":723,"path":35,"seo":724,"stem":36,"__hash__":725},"content\u002F00.guide\u002F03.data-types\u002F02.composite_types.md",{"type":242,"value":243,"toc":713,"icon":37},"minimark",[244,252,258,274,277,329,335,340,349,351,393,400,422,428,433,436,458,474,476,499,505,510,537,539,572,577,582,620,622,653,658,663,682,684,709],[245,246,248],"h2",{"id":247},"listt",[249,250,251],"code",{},"list\u003CT>",[253,254,255,257],"p",{},[249,256,251],{}," 是有序序列，元素类型一致。",[259,260,265],"pre",{"className":261,"code":262,"language":263,"meta":264,"style":264},"language-dj shiki shiki-themes github-light github-dark github-dark","let numbers: list\u003Cint> = [1, 2, 3];\n","dj","",[249,266,267],{"__ignoreMap":264},[268,269,272],"span",{"class":270,"line":271},"line",1,[268,273,262],{},[253,275,276],{},"规则：",[278,279,280,287,293,312,322],"ul",{},[281,282,283,284],"li",{},"支持下标访问：",[249,285,286],{},"xs[i]",[281,288,289,290],{},"支持下标赋值：",[249,291,292],{},"xs[i] = v",[281,294,295,296,299,300,299,303,299,306,299,309],{},"支持 ",[249,297,298],{},"push","、",[249,301,302],{},"pop",[249,304,305],{},"remove",[249,307,308],{},"clear",[249,310,311],{},"len",[281,313,314,315,318,319],{},"越界访问或空列表 ",[249,316,317],{},"pop()"," 时 ",[249,320,321],{},"panic",[281,323,324,325,328],{},"更新操作只能作用在 ",[249,326,327],{},"var"," 绑定上",[245,330,332],{"id":331},"mapk-v",[249,333,334],{},"map\u003CK, V>",[253,336,337,339],{},[249,338,334],{}," 是键值字典。",[259,341,343],{"className":261,"code":342,"language":263,"meta":264,"style":264},"let scores: map\u003Cstring, int> = { \"a\": 1, \"b\": 2 };\n",[249,344,345],{"__ignoreMap":264},[268,346,347],{"class":270,"line":271},[268,348,342],{},[253,350,276],{},[278,352,353,358,363,374,381,386],{},[281,354,283,355],{},[249,356,357],{},"m[k]",[281,359,289,360],{},[249,361,362],{},"m[k] = v",[281,364,295,365,299,367,299,369,299,372],{},[249,366,305],{},[249,368,308],{},[249,370,371],{},"contains",[249,373,311],{},[281,375,376,378,379],{},[249,377,357],{}," 缺 key 时 ",[249,380,321],{},[281,382,383,385],{},[249,384,362],{}," 缺 key 时直接插入",[281,387,388,378,391],{},[249,389,390],{},"remove(k)",[249,392,321],{},[253,394,395,396,399],{},"当前 ",[249,397,398],{},"map"," key 只允许：",[278,401,402,407,412,417],{},[281,403,404],{},[249,405,406],{},"int",[281,408,409],{},[249,410,411],{},"bool",[281,413,414],{},[249,415,416],{},"rune",[281,418,419],{},[249,420,421],{},"string",[245,423,425],{"id":424},"optt",[249,426,427],{},"opt\u003CT>",[253,429,430,432],{},[249,431,427],{}," 表示可选值。",[253,434,435],{},"构造与判定：",[278,437,438,443,448,453],{},[281,439,440],{},[249,441,442],{},"none",[281,444,445],{},[249,446,447],{},"some(x)",[281,449,450],{},[249,451,452],{},"x is none",[281,454,455],{},[249,456,457],{},"x is some(v)",[259,459,461],{"className":261,"code":460,"language":263,"meta":264,"style":264},"let title: opt\u003Cstring> = none;\nlet count: opt\u003Cint> = some(3);\n",[249,462,463,468],{"__ignoreMap":264},[268,464,465],{"class":270,"line":271},[268,466,467],{},"let title: opt\u003Cstring> = none;\n",[268,469,471],{"class":270,"line":470},2,[268,472,473],{},"let count: opt\u003Cint> = some(3);\n",[253,475,276],{},[278,477,478,483,489],{},[281,479,480,482],{},[249,481,427],{}," 不支持比较",[281,484,485,486,488],{},"参数类型为 ",[249,487,427],{}," 时允许省略",[281,490,491,492,495,496],{},"传 ",[249,493,494],{},"T"," 时会自动提升为 ",[249,497,498],{},"some(T)",[245,500,502],{"id":501},"itert",[249,503,504],{},"iter\u003CT>",[253,506,507,509],{},[249,508,504],{}," 是遍历用的中间类型，不是稳定容器。",[259,511,513],{"className":261,"code":512,"language":263,"meta":264,"style":264},"let xs: list\u003Cint> = [1, 2, 3];\nlet result = iter(xs).map(func(x: int) -> string {\n    `#${x}`\n}).collect();\n",[249,514,515,520,525,531],{"__ignoreMap":264},[268,516,517],{"class":270,"line":271},[268,518,519],{},"let xs: list\u003Cint> = [1, 2, 3];\n",[268,521,522],{"class":270,"line":470},[268,523,524],{},"let result = iter(xs).map(func(x: int) -> string {\n",[268,526,528],{"class":270,"line":527},3,[268,529,530],{},"    `#${x}`\n",[268,532,534],{"class":270,"line":533},4,[268,535,536],{},"}).collect();\n",[253,538,276],{},[278,540,541,547,566,569],{},[281,542,543,544],{},"可用于 ",[249,545,546],{},"for x in expr",[281,548,549,550],{},"当前核心操作：\n",[278,551,552,556,561],{},[281,553,554],{},[249,555,398],{},[281,557,558],{},[249,559,560],{},"filter",[281,562,563],{},[249,564,565],{},"collect",[281,567,568],{},"不支持下标访问",[281,570,571],{},"更适合作为遍历管道，而不是长期保存的数据值",[245,573,575],{"id":574},"any",[249,576,574],{},[253,578,579,581],{},[249,580,574],{}," 是边界类型，不是万能类型。",[259,583,585],{"className":261,"code":584,"language":263,"meta":264,"style":264},"let props: map\u003Cstring, any> = { \"title\": \"hello\" };\nlet value = props[\"title\"];\n\nif value is string(s) {\n    text(s)\n}\n",[249,586,587,592,597,603,608,614],{"__ignoreMap":264},[268,588,589],{"class":270,"line":271},[268,590,591],{},"let props: map\u003Cstring, any> = { \"title\": \"hello\" };\n",[268,593,594],{"class":270,"line":470},[268,595,596],{},"let value = props[\"title\"];\n",[268,598,599],{"class":270,"line":527},[268,600,602],{"emptyLinePlaceholder":601},true,"\n",[268,604,605],{"class":270,"line":533},[268,606,607],{},"if value is string(s) {\n",[268,609,611],{"class":270,"line":610},5,[268,612,613],{},"    text(s)\n",[268,615,617],{"class":270,"line":616},6,[268,618,619],{},"}\n",[253,621,276],{},[278,623,624,630,636,643],{},[281,625,626,629],{},[249,627,628],{},"T -> any"," 允许",[281,631,632,635],{},[249,633,634],{},"any -> T"," 不做隐式恢复",[281,637,638,639,642],{},"当前主要通过 ",[249,640,641],{},"is"," 做显式收窄",[281,644,645,646,299,649,652],{},"主要用于 ",[249,647,648],{},"main(props)",[249,650,651],{},"element.props"," 这类动态边界",[245,654,656],{"id":655},"widget",[249,657,655],{},[253,659,660,662],{},[249,661,655],{}," 是抽象渲染结果类型。",[259,664,666],{"className":261,"code":665,"language":263,"meta":264,"style":264},"func main() -> widget {\n    text(\"Hello\")\n}\n",[249,667,668,673,678],{"__ignoreMap":264},[268,669,670],{"class":270,"line":271},[268,671,672],{},"func main() -> widget {\n",[268,674,675],{"class":270,"line":470},[268,676,677],{},"    text(\"Hello\")\n",[268,679,680],{"class":270,"line":527},[268,681,619],{},[253,683,276],{},[278,685,686,691,694,700,703],{},[281,687,688,690],{},[249,689,655],{}," 是一等类型",[281,692,693],{},"可以赋值、传参、返回",[281,695,696,697],{},"可以放入 ",[249,698,699],{},"list\u003Cwidget>",[281,701,702],{},"不支持比较",[281,704,705,706,708],{},"不作为 ",[249,707,398],{}," key",[710,711,712],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":264,"searchDepth":470,"depth":470,"links":714},[715,716,717,718,719,720],{"id":247,"depth":470,"text":251},{"id":331,"depth":470,"text":334},{"id":424,"depth":470,"text":427},{"id":501,"depth":470,"text":504},{"id":574,"depth":470,"text":574},{"id":655,"depth":470,"text":655},"md",{"icon":37},{"icon":37},{"title":34,"description":264},"K2qUXFwBl0VEp_8x-q8iTOE48UxZMCzHjOYvw2wVKpE",[727,728],{"title":29,"path":30,"stem":31,"description":264,"icon":32,"children":-1},{"title":39,"path":40,"stem":41,"description":264,"icon":42,"children":-1},1776981318958]