>  기사  >  백엔드 개발  >  Go 언어에서 연산자 우선순위는 무엇입니까?

Go 언어에서 연산자 우선순위는 무엇입니까?

WBOY
WBOY원래의
2023-06-10 11:04:361773검색

Go 언어에는 다양한 종류의 연산자가 있으며, 이러한 연산자의 계산 순서는 특정 규칙에 따라 결정됩니다. 이것이 프로그램 실행 순서를 결정할 수 있는 소위 연산자 우선순위입니다. 이 기사에서는 Go 언어의 연산자 우선 순위를 소개합니다.

1. 기본 연산자

  1. 산술 연산자

산술 연산자에는 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%)의 5가지 유형이 있으며 그 중 우선순위가 부여됩니다. 높은 수준에서 낮은 수준은 다음과 같습니다.

  1. 괄호(())
  2. 부정(-x)
  3. 곱셈, 나눗셈 및 나머지(*, /, %)
  4. 더하기, 빼기(+, -)

예:

a := 10 + 202 // 먼저 곱한 다음 덧셈을 합니다. 이는 a := 10 + (202) = 50
b := (10 + 20) 2 // 괄호를 사용하고 먼저 더한 다음 곱합니다. b := (10+20) 2 = 60

  1. 관계 연산자

관계 연산자에는 같음(==), 같지 않음(!= ), 보다 큼( >), 보다 작음(<), 크거나 같음(>=) 및 작거나 같음(<=), 우선 순위는 높은 것부터 낮은 것까지입니다:

  1. 대괄호(())
  2. 보다 큼, 보다 작음, 크거나 같음, 작거나 같음 (>, <, >=, <=)
  3. 같음, 같지 않음 (==, !=)

예:

a: = 10 > 5 && 5 < 3 || 4 > 2 // 먼저 &&를 실행한 다음 ||를 실행합니다. 이는 a := (10 > 5 && 5 < 3) || (4 > 2) = true

  1. 논리 연산자

논리 연산자에는 부정(!), ​​AND(&&) 및 OR(||)가 포함됩니다. 여기서 높은 우선순위는

  1. 괄호(())
  2. 부정(!)
  3. 및 (&&)
  4. 또는 (||)

예:

a := true || false && !true // 먼저 실행합니다! &&를 실행하고 마지막으로 ||를 실행합니다. 이는 a := true || false = true

2. 비트 연산자

비트 연산자에는 비트 AND(&), 비트 OR(|), XOR(^), 왼쪽이 포함됩니다. 시프트(<<) 및 오른쪽 시프트(>>) 우선순위는 높은 것부터 낮은 것까지입니다:

  1. 괄호(())
  2. 왼쪽 시프트, 오른쪽 시프트(< ;<,>> )
  3. 비트별 AND (&)
  4. 비트별 XOR (^)
  5. 비트별 OR (|)

예:

a := 1 << 2 & 3 | 4 ^ 5 >> // 먼저 <<, >>를 실행한 다음 &, ^를 실행하고 마지막으로 |를 실행합니다. 이는 a := 0 | 1 = 1

과 동일합니다. 3. 할당 연산자

할당 연산자에는 등호(=)가 포함됩니다. , 더하기 같음(+=), 빼기 같음(-=), 같음 곱하기(*=), 같음 나누기(/=), 나머지 같음(%= ), 왼쪽 시프트 같음(<<=), 오른쪽 시프트 같음(>>=), 비트 AND 같음(&=), 비트 OR 같음(|=) 및 비트 XOR 같음(^= ) 11가지 유형, 낮은 것부터 높은 것 순으로 우선순위는 다음과 같습니다.

  1. 비트 OR 및 같음 (|=)
  2. 비트 XOR 및 같음 (^=)
  3. 비트 AND 및 같음 (&=)
  4. 왼쪽 Shift 같음 (<<=)
  5. 오른쪽 Shift 같음 (>>=)
  6. 나머지는 (%=)
  7. 나눗셈은 (/=)입니다.
  8. 곱하기는 (*=)
  9. 빼기는 (-=)
  10. 더하기는 (+=)와 같습니다.
  11. 는 (=)
과 같습니다.

예:

a, b := 1, 2
a += b + 3 4 // 먼저 곱셈을 수행한 다음 덧셈을 수행하고 마지막으로 +=를 수행합니다. 이는 a = a + (b + 3과 동일합니다. 4) = 15

Go 언어의 다양한 연산자의 우선순위를 이해함으로써 프로그램을 보다 정확하게 작성할 수 있고, 프로그램의 계산 과정을 더 잘 이해할 수 있습니다.

위 내용은 Go 언어에서 연산자 우선순위는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.