当前位置: 首页 > article >正文

Vala编程语言教程-运算符

运算符

=
赋值操作。左操作数必须为标识符,右操作数必须为适当的值或引用。

+, -, /, *, %
基础算术运算,作用于左右操作数。+ 运算符也可用于字符串拼接。

+=, -=, /=, *=, %=
左右操作数间算术运算,左操作数必须为标识符,运算结果将赋值给该标识符。

++, --
自增与自减操作(隐式赋值)。仅需一个操作数,且必须为简单数据类型的标识符。值将被修改并重新赋值给该标识符。这些运算符可置于前缀或后缀位置:

  • 前缀‌:语句的求值结果为运算后的新值
  • 后缀‌:语句的求值结果为运算前的原始值

|, ^, &, ~, |=, &=, ^=
位运算:或、异或、与、非。第二组包含赋值操作,与算术版本类似。适用于所有简单值类型。(~ 无对应的赋值运算符,因其为一元操作符,等效操作为 a = ~a)。

<<, >>
位移操作:根据右操作数指定的位数,对左操作数进行左移或右移。

<<=, >>=
位移操作:根据右操作数指定的位数,对左操作数进行左移或右移。左操作数必须为标识符,运算结果将赋值给该标识符。

==
相等性测试。根据左右操作数是否相等返回布尔值:

  • 值类型:值相等即为 true
  • 引用类型:对象为同一实例时返回 true
  • 例外‌:string 类型按值进行相等性测试

<, >, >=, <=, !=
不等性测试。根据左右操作数是否满足描述的关系返回布尔值。适用于简单值数据类型及 string 类型。对于字符串,这些运算符按字典序比较。

!, &&, ||
逻辑运算:非、与、或。! 作用于单个布尔值,&& 和 || 作用于两个布尔值。

? :
三元条件运算符。根据条件求值结果返回左或右子表达式的值:
条件 ? 真时值 : 假时值

??
空值合并运算符:a ?? b 等效于 a != null ? a : b。例如为可能为 null 的引用提供默认值:
stdout.printf("Hello, %s!\n", name ?? "unknown person");

in
检查右操作数是否包含左操作数。适用于数组、字符串、集合或任何实现 contains() 方法的类型。对字符串执行子串搜索。

‌:Vala 不支持运算符重载。部分运算符专用于 Lambda 声明等特定场景,将在相关上下文中说明。

 


http://www.kler.cn/a/591044.html

相关文章:

  • 算法刷题记录——LeetCode篇(3) [第201~300题](持续更新)
  • 蓝桥杯16
  • HTML 样式与布局初体验:学习进程中的关键节点(二)
  • 【每日论文】New Trends for Modern Machine Translation with Large Reasoning Models
  • 详细介绍HFONT结构体
  • 科技资讯杂志科技资讯编辑部科技资讯杂志社2025年第2期目录
  • 出租车数据可视化分析-大数据-实训大作业
  • [HelloCTF]PHPinclude-labs超详细WP-Level 5-http协议-2
  • Doris vs Elasticsearch:全维度对比与实际成本案例解析
  • Linux驱动开发实战(五):Qt应用程序点RGB灯(保姆级快速入门!)
  • 2000-2019年各省地方财政税收收入数据
  • 【HCIA-晴天老师】15-VLAN的Hybrid配置笔记
  • LeetCode 78.子集
  • Java Stream 流的介绍
  • 【Servo】一个简单的伺服驱动器嵌入式架构,联想
  • JVM G1内存管理核心概念解析:Region、Card Table、CSet与RSet
  • 机试准备第19天
  • Java1.8与testNg兼容问题:bad class file和SocketTimeoutException: Read timed out
  • synchronized底层加锁原理
  • HTTP服务器的工作逻辑