표현식과 연산자

대입, 산술·비트·논리 연산, 형 변환, 증감과 연산자 우선순위를 설명합니다.

Wave Foundation

주요 연산자

분류 연산자
산술 +, -, *, /, %
비교 ==, !=, <, <=, >, >=
논리 &&, `
비트 &, |, ^, ~, <<, >>
대입 =, +=, -=, *=, /=, %=
증감 ++, --
주소·역참조 &value, deref pointer
명시적 형 변환 as
var width: i32 = 12;
var area: i32 = width * 8;
var large: bool = area >= 64;
var widened: i64 = area as i64;
area += 8;

우선순위

연산자 우선순위는 높은 순서부터 다음과 같습니다.

  1. 기본식과 후위 접근: 함수 호출, 필드 접근, 인덱싱, 후위 ++·--
  2. 단항 연산: !, ~, &, deref, 전위 ++·--, 단항 +·-
  3. as 형 변환
  4. *, /, %
  5. +, -
  6. <<, >>
  7. <, <=, >, >=
  8. ==, !=
  9. 비트 &, ^, |
  10. &&, ||
  11. 대입과 복합 대입

연쇄 대입은 오른쪽부터 결합합니다. 여러 종류의 연산자를 섞을 때는 괄호로 계산 순서를 명확히 표현하십시오.

대입 가능한 대상

대입과 ++·--는 변수, 필드, 배열 인덱스, 역참조처럼 저장 위치를 나타내는 식에 사용합니다. const에 대한 쓰기는 허용되지 않습니다.