[{"data":1,"prerenderedAt":574},["ShallowReactive",2],{"navigation":3,"-guide-data-types-struct":239,"-guide-data-types-struct-surround":571},[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":44,"body":241,"description":265,"extension":566,"meta":567,"navigation":568,"path":45,"seo":569,"stem":46,"__hash__":570},"content\u002F00.guide\u002F03.data-types\u002F04.struct.md",{"type":242,"value":243,"toc":558,"icon":47},"minimark",[244,252,256,259,294,297,319,322,325,350,352,366,369,372,381,388,423,426,429,432,467,478,481,484,503,506,515,518,532,551,554],[245,246,247,251],"p",{},[248,249,250],"code",{},"struct"," 是 Dujie 的具名名义类型。",[253,254,255],"h2",{"id":255},"定义",[245,257,258],{},"结构体只支持具名字段：",[260,261,266],"pre",{"className":262,"code":263,"language":264,"meta":265,"style":265},"language-dj shiki shiki-themes github-light github-dark github-dark","struct User {\n    name: string,\n    age: int,\n}\n","dj","",[248,267,268,276,282,288],{"__ignoreMap":265},[269,270,273],"span",{"class":271,"line":272},"line",1,[269,274,275],{},"struct User {\n",[269,277,279],{"class":271,"line":278},2,[269,280,281],{},"    name: string,\n",[269,283,285],{"class":271,"line":284},3,[269,286,287],{},"    age: int,\n",[269,289,291],{"class":271,"line":290},4,[269,292,293],{},"}\n",[245,295,296],{},"规则：",[298,299,300,307,310,313,316],"ul",{},[301,302,303,304],"li",{},"字段声明写作 ",[248,305,306],{},"name: Type",[301,308,309],{},"不支持匿名成员结构体",[301,311,312],{},"不支持 tuple struct",[301,314,315],{},"不支持按数字索引访问",[301,317,318],{},"第一阶段不支持字段默认值",[253,320,321],{"id":321},"构造",[245,323,324],{},"使用具名构造：",[260,326,328],{"className":262,"code":327,"language":264,"meta":265,"style":265},"let user = User {\n    name: \"Alice\",\n    age: 30,\n};\n",[248,329,330,335,340,345],{"__ignoreMap":265},[269,331,332],{"class":271,"line":272},[269,333,334],{},"let user = User {\n",[269,336,337],{"class":271,"line":278},[269,338,339],{},"    name: \"Alice\",\n",[269,341,342],{"class":271,"line":284},[269,343,344],{},"    age: 30,\n",[269,346,347],{"class":271,"line":290},[269,348,349],{},"};\n",[245,351,296],{},[298,353,354,357,360,363],{},[301,355,356],{},"所有字段必须显式提供",[301,358,359],{},"未知字段是编译错误",[301,361,362],{},"重复字段是编译错误",[301,364,365],{},"缺字段是编译错误",[253,367,368],{"id":368},"访问与更新",[245,370,371],{},"字段访问使用点操作：",[260,373,375],{"className":262,"code":374,"language":264,"meta":265,"style":265},"let name = user.name;\n",[248,376,377],{"__ignoreMap":265},[269,378,379],{"class":271,"line":272},[269,380,374],{},[245,382,383,384,387],{},"字段更新要求目标来自 ",[248,385,386],{},"var"," 绑定：",[260,389,391],{"className":262,"code":390,"language":264,"meta":265,"style":265},"var user = User {\n    name: \"Alice\",\n    age: 30,\n};\n\nuser.name = \"Bob\";\n",[248,392,393,398,402,406,410,417],{"__ignoreMap":265},[269,394,395],{"class":271,"line":272},[269,396,397],{},"var user = User {\n",[269,399,400],{"class":271,"line":278},[269,401,339],{},[269,403,404],{"class":271,"line":284},[269,405,344],{},[269,407,408],{"class":271,"line":290},[269,409,349],{},[269,411,413],{"class":271,"line":412},5,[269,414,416],{"emptyLinePlaceholder":415},true,"\n",[269,418,420],{"class":271,"line":419},6,[269,421,422],{},"user.name = \"Bob\";\n",[245,424,425],{},"如果字段不存在，是编译错误。",[253,427,428],{"id":428},"名义类型",[245,430,431],{},"结构体采用名义类型规则。",[260,433,435],{"className":262,"code":434,"language":264,"meta":265,"style":265},"struct User {\n    name: string,\n}\n\nstruct Author {\n    name: string,\n}\n",[248,436,437,441,445,449,453,458,462],{"__ignoreMap":265},[269,438,439],{"class":271,"line":272},[269,440,275],{},[269,442,443],{"class":271,"line":278},[269,444,281],{},[269,446,447],{"class":271,"line":284},[269,448,293],{},[269,450,451],{"class":271,"line":290},[269,452,416],{"emptyLinePlaceholder":415},[269,454,455],{"class":271,"line":412},[269,456,457],{},"struct Author {\n",[269,459,460],{"class":271,"line":419},[269,461,281],{},[269,463,465],{"class":271,"line":464},7,[269,466,293],{},[245,468,469,470,473,474,477],{},"这里 ",[248,471,472],{},"User"," 和 ",[248,475,476],{},"Author"," 不是同一类型，即使字段完全相同。",[253,479,480],{"id":480},"泛型结构体",[245,482,483],{},"结构体可以带类型参数：",[260,485,487],{"className":262,"code":486,"language":264,"meta":265,"style":265},"struct Box\u003CT> {\n    value: T,\n}\n",[248,488,489,494,499],{"__ignoreMap":265},[269,490,491],{"class":271,"line":272},[269,492,493],{},"struct Box\u003CT> {\n",[269,495,496],{"class":271,"line":278},[269,497,498],{},"    value: T,\n",[269,500,501],{"class":271,"line":284},[269,502,293],{},[245,504,505],{},"构造时允许从字段值局部推导类型参数：",[260,507,509],{"className":262,"code":508,"language":264,"meta":265,"style":265},"let a = Box { value: \"x\" };  \u002F\u002F Box\u003Cstring>\n",[248,510,511],{"__ignoreMap":265},[269,512,513],{"class":271,"line":272},[269,514,508],{},[253,516,517],{"id":517},"递归",[245,519,520,521,524,525,524,528,531],{},"允许通过 ",[248,522,523],{},"opt\u003CT>","、",[248,526,527],{},"list\u003CT>",[248,529,530],{},"map\u003CK, T>"," 间接递归：",[260,533,535],{"className":262,"code":534,"language":264,"meta":265,"style":265},"struct Node {\n    next: opt\u003CNode>,\n}\n",[248,536,537,542,547],{"__ignoreMap":265},[269,538,539],{"class":271,"line":272},[269,540,541],{},"struct Node {\n",[269,543,544],{"class":271,"line":278},[269,545,546],{},"    next: opt\u003CNode>,\n",[269,548,549],{"class":271,"line":284},[269,550,293],{},[245,552,553],{},"不允许字段直接按值引用自身类型。",[555,556,557],"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":265,"searchDepth":278,"depth":278,"links":559},[560,561,562,563,564,565],{"id":255,"depth":278,"text":255},{"id":321,"depth":278,"text":321},{"id":368,"depth":278,"text":368},{"id":428,"depth":278,"text":428},{"id":480,"depth":278,"text":480},{"id":517,"depth":278,"text":517},"md",{"icon":47},{"icon":47},{"title":44,"description":265},"FhGofzXRfu3Swj6IBQ1iTM0upKnZvYcAPyhRwxZOdXs",[572,573],{"title":39,"path":40,"stem":41,"description":265,"icon":42,"children":-1},{"title":49,"path":50,"stem":51,"description":265,"icon":52,"children":-1},1776981318958]