[{"data":1,"prerenderedAt":1003},["ShallowReactive",2],{"navigation":3,"-design-built-in-types-surface":239,"-design-built-in-types-surface-surround":1000},[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":49,"body":241,"description":970,"extension":995,"meta":996,"navigation":997,"path":230,"seo":998,"stem":231,"__hash__":999},"content\u002F01.design\u002F17.built-in-types-surface.md",{"type":242,"value":243,"toc":969},"minimark",[244,248,251,255,279,290,293,296,358,361,378,381,398,403,408,412,424,427,440,443,470,473,503,508,513,517,528,546,549,561,563,573,576,596,598,618,623,628,631,652,655,678,681,706,711,716,719,736,739,756,759,762,782,786,791,794,816,818,829,832,835,853,855,869,873,878,881,898,900,913,917,922,925,927,938,941],[245,246,247],"p",{},"本文档收敛 Dujie 第一阶段中各内建类型对外暴露的方法、属性和相关约束。",[245,249,250],{},"目标不是重新定义这些类型的语义，而是把已经散落在类型系统、表达式系统和渲染内建中的公开表面集中列出来。",[252,253,254],"h2",{"id":254},"总体原则",[256,257,258,262,265,276],"ul",{},[259,260,261],"li",{},"第一阶段不支持用户自定义方法",[259,263,264],{},"点调用形式只对语言内建方法开放",[259,266,267,271,272,275],{},[268,269,270],"code",{},"x.y"," 在 ",[268,273,274],{},"struct"," 上表示字段访问，不表示内建属性系统",[259,277,278],{},"第一阶段不提供独立的“内建属性”目录；当前公开表面以方法和语言构造为主",[245,280,281,282,285,286,289],{},"也就是说，像 ",[268,283,284],{},"list.push(...)","、",[268,287,288],{},"iter.map(...)"," 这样的点调用属于语言内建能力，不代表语言已经开放了通用方法系统。",[252,291,292],{"id":292},"无公开内建属性",[245,294,295],{},"第一阶段以下类型都不提供额外的公开内建属性：",[256,297,298,303,308,313,318,323,328,333,338,343,348,353],{},[259,299,300],{},[268,301,302],{},"int",[259,304,305],{},[268,306,307],{},"float",[259,309,310],{},[268,311,312],{},"bool",[259,314,315],{},[268,316,317],{},"rune",[259,319,320],{},[268,321,322],{},"string",[259,324,325],{},[268,326,327],{},"list\u003CT>",[259,329,330],{},[268,331,332],{},"map\u003CK, V>",[259,334,335],{},[268,336,337],{},"opt\u003CT>",[259,339,340],{},[268,341,342],{},"iter\u003CT>",[259,344,345],{},[268,346,347],{},"any",[259,349,350],{},[268,351,352],{},"widget",[259,354,355],{},[268,356,357],{},"unit",[245,359,360],{},"如果需要获取附加信息，当前统一通过方法或语言构造表达，例如：",[256,362,363,368,373],{},[259,364,365],{},[268,366,367],{},"xs.len()",[259,369,370],{},[268,371,372],{},"m.contains(k)",[259,374,375],{},[268,376,377],{},"x is some(v)",[245,379,380],{},"而不是：",[256,382,383,388,393],{},[259,384,385],{},[268,386,387],{},"xs.len",[259,389,390],{},[268,391,392],{},"m.size",[259,394,395],{},[268,396,397],{},"x.value",[252,399,401],{"id":400},"listt",[268,402,327],{},[245,404,405,407],{},[268,406,327],{}," 是有序稳定容器。",[409,410,411],"h3",{"id":411},"下标",[256,413,414,419],{},[259,415,416],{},[268,417,418],{},"xs[i] -> T",[259,420,421],{},[268,422,423],{},"xs[i] = v",[245,425,426],{},"运行时规则：",[256,428,429,435],{},[259,430,431,432],{},"读取越界时 ",[268,433,434],{},"panic",[259,436,437,438],{},"写入越界时 ",[268,439,434],{},[409,441,442],{"id":442},"方法",[256,444,445,450,455,460,465],{},[259,446,447],{},[268,448,449],{},"len() -> int",[259,451,452],{},[268,453,454],{},"push(value: T)",[259,456,457],{},[268,458,459],{},"pop()",[259,461,462],{},[268,463,464],{},"remove(index: int)",[259,466,467],{},[268,468,469],{},"clear()",[245,471,472],{},"约束：",[256,474,475,481,488,495],{},[259,476,477,480],{},[268,478,479],{},"push \u002F pop \u002F remove \u002F clear"," 都属于更新操作",[259,482,483,484,487],{},"更新操作只能作用于 ",[268,485,486],{},"var"," 绑定的可写左值",[259,489,490,492,493],{},[268,491,459],{}," 对空列表调用时 ",[268,494,434],{},[259,496,497,500,501],{},[268,498,499],{},"remove(index)"," 越界时 ",[268,502,434],{},[252,504,506],{"id":505},"mapk-v",[268,507,332],{},[245,509,510,512],{},[268,511,332],{}," 是键值字典。",[409,514,516],{"id":515},"key-约束","key 约束",[245,518,519,520,523,524,527],{},"当前 ",[268,521,522],{},"K"," 必须满足 ",[268,525,526],{},"key"," 约束，也就是只能是：",[256,529,530,534,538,542],{},[259,531,532],{},[268,533,302],{},[259,535,536],{},[268,537,312],{},[259,539,540],{},[268,541,317],{},[259,543,544],{},[268,545,322],{},[409,547,411],{"id":548},"下标-1",[256,550,551,556],{},[259,552,553],{},[268,554,555],{},"m[k] -> V",[259,557,558],{},[268,559,560],{},"m[k] = v",[245,562,426],{},[256,564,565,570],{},[259,566,567,568],{},"读取缺 key 时 ",[268,569,434],{},[259,571,572],{},"写入缺 key 时直接插入",[409,574,442],{"id":575},"方法-1",[256,577,578,582,587,592],{},[259,579,580],{},[268,581,449],{},[259,583,584],{},[268,585,586],{},"contains(key: K) -> bool",[259,588,589],{},[268,590,591],{},"remove(key: K)",[259,593,594],{},[268,595,469],{},[245,597,472],{},[256,599,600,606,610],{},[259,601,602,605],{},[268,603,604],{},"remove \u002F clear"," 属于更新操作",[259,607,483,608,487],{},[268,609,486],{},[259,611,612,615,616],{},[268,613,614],{},"remove(key)"," 在 key 不存在时 ",[268,617,434],{},[252,619,621],{"id":620},"optt",[268,622,337],{},[245,624,625,627],{},[268,626,337],{}," 当前不提供普通点调用方法。",[245,629,630],{},"它的公开表面由语言构造组成：",[256,632,633,638,643,648],{},[259,634,635],{},[268,636,637],{},"none",[259,639,640],{},[268,641,642],{},"some(value)",[259,644,645],{},[268,646,647],{},"x is none",[259,649,650],{},[268,651,377],{},[245,653,654],{},"参数位置上的额外规则：",[256,656,657,663,668],{},[259,658,659,660,662],{},"参数类型为 ",[268,661,337],{}," 时允许省略",[259,664,665,666],{},"省略等价于传入 ",[268,667,637],{},[259,669,670,671,674,675],{},"直接传入 ",[268,672,673],{},"T"," 时，自动提升为 ",[268,676,677],{},"some(T)",[245,679,680],{},"第一阶段不提供：",[256,682,683,688,693,698,703],{},[259,684,685],{},[268,686,687],{},"unwrap",[259,689,690],{},[268,691,692],{},"unwrap_or",[259,694,695],{},[268,696,697],{},"map",[259,699,700],{},[268,701,702],{},"filter",[259,704,705],{},"其他链式方法",[252,707,709],{"id":708},"itert",[268,710,342],{},[245,712,713,715],{},[268,714,342],{}," 是遍历用中间类型。",[409,717,442],{"id":718},"方法-2",[256,720,721,726,731],{},[259,722,723],{},[268,724,725],{},"map(f) -> iter\u003CU>",[259,727,728],{},[268,729,730],{},"filter(f) -> iter\u003CT>",[259,732,733],{},[268,734,735],{},"collect() -> list\u003CT>",[245,737,738],{},"其中：",[256,740,741,749],{},[259,742,743,745,746],{},[268,744,697],{}," 要求回调形如 ",[268,747,748],{},"func(T) -> U",[259,750,751,745,753],{},[268,752,702],{},[268,754,755],{},"func(T) -> bool",[245,757,758],{},"这些方法属于语言内建泛型方法，不代表语言支持用户自定义方法。",[409,760,761],{"id":761},"额外规则",[256,763,764,772,777],{},[259,765,766,768,769],{},[268,767,342],{}," 可用于 ",[268,770,771],{},"for x in expr",[259,773,774,776],{},[268,775,342],{}," 不支持下标访问",[259,778,779,781],{},[268,780,342],{}," 不建议长期保存到字段或容器中",[252,783,784],{"id":322},[268,785,322],{},[245,787,788,790],{},[268,789,322],{}," 第一阶段不提供公开点调用方法和属性。",[245,792,793],{},"当前稳定能力主要来自：",[256,795,796,803,809],{},[259,797,798,799,802],{},"字面量：",[268,800,801],{},"\"...\"","、插值字符串",[259,804,805,806],{},"比较：",[268,807,808],{},"== != \u003C \u003C= > >=",[259,810,811,812,815],{},"作为 ",[268,813,814],{},"text(...)"," 输入",[245,817,680],{},[256,819,820,823,826],{},[259,821,822],{},"下标访问",[259,824,825],{},"直接迭代",[259,827,828],{},"语言内建字符串方法表面",[252,830,831],{"id":831},"基础数值与布尔类型",[245,833,834],{},"以下类型第一阶段都不提供公开点调用方法和属性：",[256,836,837,841,845,849],{},[259,838,839],{},[268,840,302],{},[259,842,843],{},[268,844,307],{},[259,846,847],{},[268,848,312],{},[259,850,851],{},[268,852,317],{},[245,854,793],{},[256,856,857,860,863,866],{},[259,858,859],{},"字面量",[259,861,862],{},"运算",[259,864,865],{},"比较",[259,867,868],{},"少量显式转换",[252,870,871],{"id":347},[268,872,347],{},[245,874,875,877],{},[268,876,347],{}," 第一阶段不提供普通点调用方法和属性。",[245,879,880],{},"它的公开表面主要来自：",[256,882,883,889],{},[259,884,885,886],{},"装箱：",[268,887,888],{},"T -> any",[259,890,891,892,285,895],{},"显式收窄：",[268,893,894],{},"x is T",[268,896,897],{},"x is T(v)",[245,899,680],{},[256,901,902,905,907,910],{},[259,903,904],{},"成员访问",[259,906,822],{},[259,908,909],{},"方法调用",[259,911,912],{},"普通运算",[252,914,915],{"id":352},[268,916,352],{},[245,918,919,921],{},[268,920,352],{}," 是抽象渲染结果类型。",[245,923,924],{},"第一阶段不提供公开点调用方法和属性。",[245,926,880],{},[256,928,929,935],{},[259,930,811,931,934],{},[268,932,933],{},"text \u002F fragment \u002F comment \u002F element \u002F main"," 的返回类型",[259,936,937],{},"作为普通值参与赋值、传参、返回和组合",[252,939,940],{"id":940},"相关文档",[256,942,943,949,954,959,964],{},[259,944,945],{},[946,947,198],"a",{"href":948},".\u002F09.type-system",[259,950,951],{},[946,952,202],{"href":953},".\u002F10.generics-system",[259,955,956],{},[946,957,214],{"href":958},".\u002F13.expressions-and-statements",[259,960,961],{},[946,962,222],{"href":963},".\u002F15.render-intrinsics",[259,965,966],{},[946,967,226],{"href":968},".\u002F16.any-design",{"title":970,"searchDepth":971,"depth":971,"links":972},"",2,[973,974,975,980,985,986,990,991,992,993,994],{"id":254,"depth":971,"text":254},{"id":292,"depth":971,"text":292},{"id":400,"depth":971,"text":327,"children":976},[977,979],{"id":411,"depth":978,"text":411},3,{"id":442,"depth":978,"text":442},{"id":505,"depth":971,"text":332,"children":981},[982,983,984],{"id":515,"depth":978,"text":516},{"id":548,"depth":978,"text":411},{"id":575,"depth":978,"text":442},{"id":620,"depth":971,"text":337},{"id":708,"depth":971,"text":342,"children":987},[988,989],{"id":718,"depth":978,"text":442},{"id":761,"depth":978,"text":761},{"id":322,"depth":971,"text":322},{"id":831,"depth":971,"text":831},{"id":347,"depth":971,"text":347},{"id":352,"depth":971,"text":352},{"id":940,"depth":971,"text":940},"md",{},{},{"title":49,"description":970},"PpBddDekhF6p3TyPRYZIc_i3ily1ajM3GL0Eqwp-ypc",[1001,1002],{"title":226,"path":227,"stem":228,"description":970,"children":-1},{"title":107,"path":233,"stem":234,"description":970,"children":-1},1776981319058]