【far 语言】数组
本文是「far 语言」系列文档之一,总目录见《【far 语言】语言文档目录》。
数组
Far 数组采用 C 风格声明:方括号挂在变量名后,字面量统一用方括号
[](2026-08-22 定稿)。{}花括号仅用于 map({k:v}),数组一律[1,2,3]。
声明
int data[3] = [1,2,3]; // 定长数组(初始化数量必须严格相等)
int z[3] = []; // 空数组:整体零值初始化
int n[3]; // 裸声明:零值
string names[] = ["a","b","c"]; // 未定长(动态)
bb := ["4","5"]; // := 推导(元素类型一致)
object x[] = [1, 2.1, "3"]; // 混合类型(元素统一 far 对象)
多维数组
int m[2][3] = [[1,2,3],[4,5,6]]; // 嵌套 far_vec
println(m[1][0]); // 4
多维声明必须显式写每一维长度。
访问与操作
names.push("d"); // 追加到末尾
names.unshift("z"); // 插入到开头
names.pop(); // 弹出末尾
names.shift(); // 弹出开头
names[0] = "x"; // 下标读写
println(sizeof(names)); // 长度(元素个数)
println(names[0]); // 下标访问
- 下标越界返回 0(不会崩溃)。
- 支持
in判断:if (2 in [1,2,3]) {...}。
方法参数与返回
// 数组参数:定长 / 未定长
static long first(int x[3]){ return x[0]; }
static long second(string s[]){ return s[1]; }
// 返回数组(返回类型位置放行 [] 特例)
static int[] getList(){ return [1,2,3]; }
// 数组默认值
static long pick(int x[] = [7,8,9]){ return x[0]; }
注意事项
- 禁止
int[] x写法,必须int x[]。 - 定长数组初始化数量必须严格相等:
int x[3] = [1]报错。 - 数组字面量统一
[]:{1,2,3}/{}(数组语境)已废弃并报错,{}仅用于 map({k:v})。 new int[5]语法已废弃,用 C 风格声明。
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
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
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
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

浙公网安备 33010602011771号