











本文是「far 语言」系列文档之一,总目录见《【far 语言】语言文档目录》。
Far 的 map 是键值对容器,键仅限
string或long,JS 风格字面量。
map<string, string> data = {"name": "far"}; // 键值均为字符串
map<string, long> age = {"alice": 30}; // 值类型为 long
map<string, string> m = {}; // 空 map
map 必须带两个泛型参数,裸 map m 报错。string 或 long,其他类型(如 bool)报错。m := {name: "far", if: 123}; // 标识符/关键字后紧跟 : 即视为字符串 key
{if:123} 不会报错——关键字在 : 前被当作标识符 key 解析。{"name":"far"} 同样支持。m.put("key", "value"); // 写入
v := m.get("key"); // 读取
ok := m.hasKey("key"); // 是否存在
println(m.size()); // 元素个数
// 下标读写(key 不存在时 m[k] 返回 0)
m["name"] = "far";
n := m["name"];
foreach(k in m){ // k 是 key
println(m[k]);
}
{...} 花括号字面量:无冒号 = 数组,{... : ...} = map。{1,2,3} 是数组;{"name":"far"} 是 map;{} 在数组声明中是零值初始化,单独使用是空 map。static long test(string type, {string name, long age}){
println(fmt("%s %s %s", type, name, age));
}
this::test("大学生", {"name":"张三", "age":21}); // 传 map
this::test("大学生", {"张三", 21}); // 传数组亦可
Rust编程语言群 1036955113
java新手自学群 626070845
java/springboot/hadoop/JVM 群 4915800
Hadoop/mongodb(搭建/开发/运维)Q群481975850
GOLang Q1群:6848027
GOLang Q2群:450509103
GOLang Q3群:436173132
GOLang Q4群:141984758
GOLang Q5群:215535604
C/C++/QT群 1414577
单片机嵌入式/电子电路入门群群 306312845
MUD/LIB/交流群 391486684
Electron/koa/Nodejs/express 214737701
大前端群vue/js/ts 165150391
操作系统研发群:15375777
汇编/辅助/破解新手群:755783453
大数据 elasticsearch 群 481975850
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。