이동-운영자
연산자는 컴파일러에게 특정 수학적 또는 논리적 조작을 수행하도록 지시하는 기호입니다. Go 언어는 내장 된 연산자가 풍부하며 다음 유형의 연산자를 제공합니다.
- 산술 연산자
- 관계 연산자
- 논리 연산자
- 비트 연산자
- 할당 연산자
- 기타 연산자
이 자습서에서는 산술, 관계형, 논리, 비트, 할당 및 기타 연산자를 하나씩 설명합니다.
산술 연산자
다음 표는 Go 언어에서 지원하는 모든 산술 연산자를 보여줍니다. 변수 가정A 10 개와 가변 B 20을 보유하고-
예시보기
운영자 | 기술 | 예 |
---|---|---|
+ | 두 개의 피연산자를 더합니다. | A + B는 30을 제공합니다. |
- | 첫 번째에서 두 번째 피연산자를 뺍니다. | A-B는 -10을 제공합니다. |
* | 두 피연산자를 곱합니다. | A * B는 200을 제공합니다. |
/ | 분자를 분모로 나눕니다. | B / A는 2를 준다 |
% | 계수 연산자; 정수 나눗셈 후 나머지를 제공합니다. | B % A는 0을 제공합니다. |
++ | 증가 연산자. 정수 값을 1 씩 증가시킵니다. | A ++는 11을 제공합니다. |
- | 감소 연산자. 정수 값을 1 씩 줄입니다. | A--주는 9 |
관계 연산자
다음 표에는 Go 언어에서 지원하는 모든 관계 연산자가 나열되어 있습니다. 변수 가정A 10 개와 가변 B 20 개를 보유하면-
예시보기
운영자 | 기술 | 예 |
---|---|---|
== | 두 피연산자의 값이 같은지 여부를 확인합니다. 그렇다면 조건이 참이됩니다. | (A == B)는 사실이 아닙니다. |
! = | 두 피연산자의 값이 같은지 여부를 확인합니다. 값이 같지 않으면 조건이 참이됩니다. | (A! = B)는 참입니다. |
> | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 큰지 확인합니다. 그렇다면 조건이 참이됩니다. | (A> B)는 사실이 아닙니다. |
< | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작은 지 확인합니다. 그렇다면 조건이 참이됩니다. | (A <B)는 사실입니다. |
> = | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크거나 같은지 확인합니다. 그렇다면 조건이 참이됩니다. | (A> = B)는 사실이 아닙니다. |
<= | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작거나 같은지 확인합니다. 그렇다면 조건이 참이됩니다. | (A <= B)는 참입니다. |
논리 연산자
다음 표에는 Go 언어에서 지원하는 모든 논리 연산자가 나열되어 있습니다. 변수 가정A 1 및 변수 보유 B 0, 다음-
예시보기
운영자 | 기술 | 예 |
---|---|---|
&& | 논리 AND 연산자라고합니다. 두 피연산자가 모두 0이 아니면 조건이 참이됩니다. | (A && B)는 거짓입니다. |
|| | 논리 OR 연산자라고합니다. 두 피연산자 중 하나가 0이 아니면 조건이 참이됩니다. | (A || B)는 사실입니다. |
! | 논리 NOT 연산자라고합니다. 피연산자의 논리 상태를 반전하는 데 사용합니다. 조건이 참이면 논리 NOT 연산자는 거짓으로 만듭니다. | ! (A && B)는 참입니다. |
다음 표는 Go 언어에서 지원하는 모든 논리 연산자를 보여줍니다. 변수 가정A 진실하고 가변적이다 B 거짓을 유지하면-
운영자 | 기술 | 예 |
---|---|---|
&& | 논리 AND 연산자라고합니다. 두 피연산자가 모두 거짓이면 조건이 거짓이됩니다. | (A && B)는 거짓입니다. |
|| | 논리 OR 연산자라고합니다. 두 피연산자 중 하나가 참이면 조건이 참이됩니다. | (A || B)는 사실입니다. |
! | 논리 NOT 연산자라고합니다. 피연산자의 논리 상태를 반전하는 데 사용합니다. 조건이 참이면 논리 NOT 연산자가이를 거짓으로 만듭니다. | ! (A && B)는 참입니다. |
비트 연산자
비트 연산자는 비트에 대해 작업하고 비트 단위 연산을 수행합니다. &, |, ^의 진리표는 다음과 같습니다.
피 | 큐 | p & q | p | 큐 | 피 ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
A = 60이라고 가정합니다. 그리고 B = 13입니다. 바이너리 형식에서는 다음과 같습니다.
A = 0011 1100
B = 0000 1101
-----------------
A & B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~ A = 1100 0011
C 언어에서 지원하는 비트 연산자는 다음 표에 나열되어 있습니다. 변수 A가 60을 보유하고 변수 B가 13을 보유한다고 가정하면-
예시보기
운영자 | 기술 | 예 |
---|---|---|
& | 이진 AND 연산자는 두 피연산자에 모두있는 경우 결과에 비트를 복사합니다. | (A & B)는 0000 1100 인 12를 줄 것입니다. |
| | 이진 OR 연산자는 피연산자 중 하나에 있으면 비트를 복사합니다. | (A | B)는 61, 즉 0011 1101을 제공합니다. |
^ | 이진 XOR 연산자는 하나의 피연산자에 설정된 경우 비트를 복사합니다. | (A ^ B)는 0011 0001 인 49를 제공합니다. |
<< | 이진 왼쪽 시프트 연산자. 왼쪽 피연산자 값은 오른쪽 피연산자에 지정된 비트 수만큼 왼쪽으로 이동합니다. | << 2는 1111 0000 인 240을 제공합니다. |
>> | 이진 오른쪽 시프트 연산자. 왼쪽 피연산자 값은 오른쪽 피연산자에 지정된 비트 수만큼 오른쪽으로 이동합니다. | A >> 2는 0000 1111 인 15를 제공합니다. |
할당 연산자
다음 표는 Go 언어에서 지원하는 모든 할당 연산자를 나열합니다.
예시보기
운영자 | 기술 | 예 |
---|---|---|
= | 단순 할당 연산자, 오른쪽 피연산자의 값을 왼쪽 피연산자에 할당 | C = A + B는 A + B의 값을 C에 할당합니다. |
+ = | AND 할당 연산자 추가, 왼쪽 피연산자에 오른쪽 피연산자를 추가하고 결과를 왼쪽 피연산자에 할당합니다. | C + = A는 C = C + A와 같습니다. |
-= | AND 할당 연산자 빼기, 왼쪽 피연산자에서 오른쪽 피연산자를 빼고 결과를 왼쪽 피연산자에 할당합니다. | C-= A는 C = C-A와 같습니다. |
* = | 곱하기 AND 할당 연산자, 오른쪽 피연산자와 왼쪽 피연산자를 곱하고 결과를 왼쪽 피연산자에 할당합니다. | C * = A는 C = C * A와 같습니다. |
/ = | 나누기 AND 할당 연산자, 왼쪽 피연산자를 오른쪽 피연산자로 나누고 결과를 왼쪽 피연산자에 할당합니다. | C / = A는 C = C / A와 같습니다. |
% = | Modulus AND assignment operator, 두 개의 피연산자를 사용하여 모듈러스를 취하고 그 결과를 왼쪽 피연산자에 할당 | C % = A는 C = C % A와 같습니다. |
<< = | 왼쪽 시프트 AND 할당 연산자 | C << = 2는 C = C << 2와 동일합니다. |
>> = | 오른쪽 시프트 AND 할당 연산자 | C >> = 2는 C = C >> 2와 동일합니다. |
& = | 비트 AND 할당 연산자 | C & = 2는 C = C & 2와 동일합니다. |
^ = | 비트 배타적 OR 및 할당 연산자 | C ^ = 2는 C = C ^ 2와 같습니다. |
| = | 비트 포함 OR 및 할당 연산자 | C | = 2는 C = C | 2 |
기타 연산자
Go Language에서 지원하는 몇 가지 다른 중요한 연산자가 있습니다. sizeof 과 ?:.
예시보기
운영자 | 기술 | 예 |
---|---|---|
& | 변수의 주소를 반환합니다. | &ㅏ; 변수의 실제 주소를 제공합니다. |
* | 변수에 대한 포인터. | *ㅏ; 변수에 대한 포인터를 제공합니다. |
Go의 연산자 우선 순위
연산자 우선 순위는 식의 용어 그룹화를 결정합니다. 이는식이 평가되는 방식에 영향을줍니다. 특정 연산자는 다른 연산자보다 우선 순위가 높습니다. 예를 들어 곱셈 연산자는 더하기 연산자보다 우선 순위가 높습니다.
예를 들어 x = 7 + 3 * 2; 여기서 x는 연산자 *가 +보다 우선 순위가 높기 때문에 20이 아닌 13이 할당됩니다. 따라서 먼저 3 * 2를 곱한 다음 7에 더합니다.
여기에서 우선 순위가 가장 높은 연산자는 테이블 맨 위에 표시되고 가장 낮은 연산자는 맨 아래에 표시됩니다. 식 내에서 우선 순위가 높은 연산자가 먼저 평가됩니다.
예시보기
범주 | 운영자 | 연관성 |
---|---|---|
접미사 | () []->. ++-- | 좌에서 우로 |
단항 | +-! ~ ++--(유형) * & sizeof | 오른쪽에서 왼쪽으로 |
곱셈 | * / % | 좌에서 우로 |
첨가물 | +- | 좌에서 우로 |
시프트 | << >> | 좌에서 우로 |
관계형 | <<=>> = | 좌에서 우로 |
평등 | ==! = | 좌에서 우로 |
비트 AND | & | 좌에서 우로 |
비트 XOR | ^ | 좌에서 우로 |
비트 OR | | | 좌에서 우로 |
논리적 AND | && | 좌에서 우로 |
논리적 OR | || | 좌에서 우로 |
할당 | = + =-= * = / = % = >> = << = & = ^ = | = | 오른쪽에서 왼쪽으로 |
반점 | , | 좌에서 우로 |