Golang에서 연산자를 사용하는 방법

연산자는 모든 프로그래밍 언어의 기반입니다. 따라서 연산자를 사용하지 않으면 Golang 언어의 기능은 완전하지 않습니다. 연산자를 사용하면 피연산자에 대해 다양한 유형의 연산을 수행할 수 있습니다. Go 언어 에서는 연산자를 다양한 기능에 따라 분류할 수 있습니다 .

Golang에서 연산자를 사용하는 방법

산술 연산자

이러한 연산자는 Go 언어에서 피연산자에 대한 연산을 수행하는 데 사용됩니다.

  • 더하기: '+'는 두 개의 피연산자를 더합니다. 예를 들어: x+y.
  • 뺄셈: '-'는 두 개의 피연산자를 뺍니다. 예: xy.
  • 곱셈: '*'는 두 개의 피연산자를 곱합니다. 예를 들어: x*y.
  • 나누기: '/'는 첫 번째 피연산자를 두 번째 피연산자로 나눕니다. 예를 들어: x/y.
  • 나머지: '%' 연산자는 첫 번째 피연산자를 두 번째 피연산자로 나눈 나머지를 반환합니다. 예를 들어: x%y.

 참고: -, +, !, &, *, <- 및 ^도 단항 연산자라고도 하며 단항 연산자의 우선순위가 더 높습니다. ++ 및 — 연산자는 표현식이 아닌 명령문에서 나오므로 연산자 계층 밖에 있습니다.

예를 들어:

//Minh họa chương trình Go dùng toán tử số học
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// Phép cộng
result1:= p + q 
fmt.Printf("Result of p + q = %d", result1) 
	
// Phép trừ
result2:= p - q 
fmt.Printf("\nResult of p - q = %d", result2) 
	
// Phép nhân
result3:= p * q 
fmt.Printf("\nResult of p * q = %d", result3) 
	
// Division 
result4:= p / q 
fmt.Printf("\nResult of p / q = %d", result4) 
	
// Modulus 
result5:= p % q 
fmt.Printf("\nResult of p %% q = %d", result5) 
} 

결과:

Kết quả của p + q = 54
Kết quả của p - q = 14
Kết quả của p * q = 680
Kết quả của p / q = 1
Kết quả của p % q = 14

관계 연산자

관계 연산자는 두 값을 비교하는 데 사용됩니다. 각 연산자를 하나씩 살펴보겠습니다.

  • '=='(같음) 연산자는 주어진 두 피연산자가 같은지 여부를 확인합니다. 같으면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 예를 들어, 5==5는 true를 반환합니다.
  • '!='(같지 않음) 연산자는 주어진 두 피연산자가 같은지 여부를 확인합니다. 그렇지 않으면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 이는 '==' 연산자의 정확한 부울 보수입니다. 예를 들어, 5!=5는 false를 반환합니다.
  • '>'(보다 큼) 연산자는 첫 번째 피연산자가 두 번째 피연산자보다 큰지 확인합니다. 더 크면 true를 반환합니다. 그보다 적으면 false를 반환합니다. 예를 들어, 6>5는 true를 반환합니다.
  • '<'(작음) 연산자는 첫 번째 피연산자가 두 번째 피연산자보다 작은지 확인합니다. 그보다 적으면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 예를 들어, <5는 다음을 반환합니다.
  • '>='(같음) 연산자는 첫 번째 피연산자가 두 번째 피연산자보다 크거나 같은지 확인합니다. 크거나 같으면 true를 반환합니다. 작거나 같으면 false를 반환합니다. 예를 들어: 5>=5는 true를 반환합니다.
  • '<='(작거나 같음) 연산자는 첫 번째 피연산자가 두 번째 피연산자보다 작거나 같은지 확인합니다. 그보다 크거나 같으면 true를 반환합니다. 값이 작거나 같으면 false를 반환합니다. 예를 들어: <=5도 반환합니다.

예를 들어:

// Minh họa chương trình Go dùng toán tử quan hệ
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// ‘=='(Equal To) 
result1:= p == q 
fmt.Println(result1) 
	
// ‘!='(Not Equal To) 
result2:= p != q 
fmt.Println(result2) 
	
// ‘<‘(less than)="" result3:="p">< q="" fmt.println(result3)="" ‘="">'(Greater Than) 
result4:= p > q 
fmt.Println(result4) 
	
// ‘>='(Greater Than Equal To) 
result5:= p >= q 
fmt.Println(result5) 
	
// ‘<='(less than="" equal="" to)="" result6:="p"><= q="" fmt.println(result6)="" }="">

결과:

false
true
false
true
true
false

논리 연산자

이는 두 개 이상의 조건/제약 조건을 결합하거나 고려 중인 초기 조건에 대한 평가를 보완하는 데 사용됩니다.

  • AND: '&&' 연산자는 두 조건이 모두 충족되면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 예를 들어, a && b는 a와 b가 모두 참(즉, 0이 아닌 값)일 때 참을 반환합니다.
  • 또는: 연산자 '||' 고려 중인 조건 중 하나(또는 둘 다)가 충족되면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 예를 들어: a || a 또는 b가 참(즉, 0이 아닌 경우)이면 b는 참을 반환합니다. 물론, a와 b가 모두 참인 경우에는 참을 반환합니다.
  • 논리적 NOT: '!' 연산자 고려 조건이 충족되지 않으면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 예를 들어: !a는 a가 거짓이면, 즉 a = 0일 때 true를 반환합니다.

예를 들어:

// Minh họa chương trình Go dùng toán tử logic
package main 
import "fmt"
func main() { 
	var p int = 23
	var q int = 60
		
	if(p!=q && p<=q){ fmt.println("true")="" }="" if(p!="q" ||=""><=q){ fmt.println("true")="" }="" if(!(p="=q)){" fmt.println("true")="" }="" }="">

결과:

True
True
True

비트 연산자

Go 언어에는 비트 수준에서 작동하거나 비트 단위 연산을 수행하는 데 사용되는 6개의 비트 연산자가 있습니다. 비트 연산자는 다음과 같습니다.

  • & (비트 AND): 두 숫자를 피연산자로 받아서 두 숫자의 모든 비트에 대해 AND를 수행합니다. AND의 결과는 두 비트가 모두 1인 경우에만 1입니다.
  • | (비트 OR): 두 숫자를 피연산자로 받아서 두 숫자의 모든 비트에 대해 OR을 수행합니다. OR 연산의 결과는 두 비트 중 하나라도 1이면 1입니다.
  • ^ (비트 XOR): 두 개의 숫자를 피연산자로 받아서 두 숫자의 모든 비트에 대해 XOR을 수행합니다. 두 비트가 다르면 XOR의 결과는 1입니다.
  • < (왼쪽으로 이동): 두 개의 숫자를 가져와서 첫 번째 피연산자의 비트를 왼쪽으로 이동하고 두 번째 피연산자는 이동할 위치 수를 결정합니다.
  • >> (오른쪽으로 이동): 두 숫자를 입력받아 첫 번째 피연산자의 비트를 오른쪽으로 이동합니다. 두 번째 피연산자는 이동할 위치의 개수를 결정합니다.
  • &^ (AND NOT): 이것은 명시적 비트 연산자입니다.

예를 들어:

// Minh họa chương trình Go dùng toán tử bitwise
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// & (bitwise AND) 
result1:= p & q 
fmt.Printf("Result of p & q = %d", result1) 
	
// | (bitwise OR) 
result2:= p | q 
fmt.Printf("\nResult of p | q = %d", result2) 
	
// ^ (bitwise XOR) 
result3:= p ^ q 
fmt.Printf("\nResult of p ^ q = %d", result3) 
	
// < (left="" shift)="" result4:="p">< 1="" fmt.printf("\nresult="" of="" p="">< 1="%d" ,"="" result4)="">> (right shift) 
result5:= p >> 1
fmt.Printf("\nResult of p >> 1 = %d", result5) 
	
// &^ (AND NOT) 
result6:= p &^ q 
fmt.Printf("\nResult of p &^ q = %d", result6) 
	
	
} 

결과:

Kết quả của p & q = 0
Kết quả của p | q = 54
Kết quả của p ^ q = 54
Kết quả của p < 1="68" kết="" quả="" của="" p="">> 1 = 17
Kết quả của p &^ q = 34

할당 연산자

할당 연산자는 변수에 값을 할당하는 데 사용됩니다. 할당 연산자의 왼쪽 피연산자는 변수이고, 할당 연산자의 오른쪽 피연산자는 값입니다. 오른쪽 값은 왼쪽 변수와 같은 데이터 유형이어야 합니다. 그렇지 않으면 컴파일러가 오류를 반환합니다. 다양한 유형의 할당 연산자는 아래와 같습니다.

  • “="(단순 할당): 이것은 가장 간단한 할당 연산자입니다. 이 연산자는 오른쪽의 값을 왼쪽의 변수에 할당하는 데 사용됩니다.
  • “+=”(추가 과제): 이 연산자는 연산자 '+'와 '='의 조합입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값을 오른쪽 변수의 값에 더한 다음, 그 결과를 왼쪽 변수에 할당합니다.
  • “-=”(빼기 할당): 이 연산자는 연산자 '-'와 '='의 조합입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값에서 오른쪽 변수의 값을 뺀 다음, 그 결과를 왼쪽 변수에 할당합니다.
  • “*="”(곱셈 과제): 이 연산자는 연산자 '*'와 '='의 조합입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값을 오른쪽 변수의 값에 곱한 다음, 그 결과를 왼쪽 변수에 할당합니다.
  • “/=”(나눗셈 할당): 이 연산자는 '/'와 '=' 연산자의 조합입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값을 오른쪽 변수의 값으로 나눈 다음, 그 결과를 왼쪽 변수에 할당합니다.
  • “%=”(나머지 할당): 이 연산자는 '%'와 '=' 연산자의 조합입니다. 이 연산자는 먼저 오른쪽 값이 주어졌을 때 왼쪽 변수의 현재 값의 나머지를 취한 다음, 그 결과를 왼쪽 변수에 할당합니다.
  • “&="”(비트 단위 AND): 이 연산자는 '&'와 '=' 연산자의 조합입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값과 오른쪽 변수의 값을 "비트 AND"로 연산한 다음, 그 결과를 왼쪽 변수에 할당합니다.
  • “^=”(비트 배타적 OR): 이 연산자는 '^'와 '=' 연산자의 조합입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값과 오른쪽 변수의 값을 "비트 배타적 OR" 연산한 다음 그 결과를 왼쪽 변수에 할당합니다.
  • “|=”(비트 단위 포함 OR): 이 연산자는 '|'와 '='의 조합입니다. 연산자와 '='. 이 연산자는 먼저 왼쪽 변수의 현재 값과 오른쪽 변수의 값을 "비트 단위 포괄적 OR" 연산한 다음 그 결과를 왼쪽 변수에 할당합니다.
  • “<=: 이 연산자는 < '와 '="' 연산자의 조합입니다 .” 이 연산자는 먼저 왼쪽 변수의 현재 값을 오른쪽 값만큼 “이동”한 다음 결과를 오른쪽 변수에 할당합니다.
  • >>=": 이 연산자는 '>>'와 '=' 연산자의 조합입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값과 오른쪽 값을 "오른쪽 시프트 AND"로 연산한 다음, 그 결과를 왼쪽 변수에 할당합니다.

예를 들어:

// Minh họa chương trình Go dùng toán tử gán
package main 
	
import "fmt"
	
func main() { 
var p int = 45
	var q int = 50
	
// “=”(Simple Assignment) 
p = q 
fmt.Println(p) 
	
// “+=”(Add Assignment) 
	p += q 
fmt.Println(p) 
	
//“-=”(Subtract Assignment) 
p-=q 
fmt.Println(p) 
	
// “*=”(Multiply Assignment) 
p*= q 
fmt.Println(p) 
	
// “/=”(Division Assignment) 
	p /= q 
fmt.Println(p) 
	
	// “%=”(Modulus Assignment) 
	p %= q 
fmt.Println(p) 
	
} 

결과:

50
100
50
2500
50
0

다른 운영자

  • &: 이 연산자는 변수의 주소를 반환합니다.
  • *: 이 연산자는 변수에 대한 포인터를 제공합니다.
  • <-: 이 연산자의 이름은 receive입니다. 값을 받는 데 사용됩니다.
// Minh họa chương trình sử dụng toán tử khác
package main 
	
import "fmt"
	
func main() { 
a := 4
	
// Dùng địa chỉ của toán tử (&) toán tử trỏ gián tiếp (*)

b := &a 
fmt.Println(*b) 
*b = 7
fmt.Println(a) 
} 

결과:

4
7
Sign up and earn $1000 a day ⋙

Leave a Comment

Golang에서 상수를 사용하는 방법

Golang에서 상수를 사용하는 방법

Golang에서 상수 또는 Const는 무엇입니까? Go에서 상수를 사용하는 데 필요한 사항은 다음과 같습니다.

Golang의 Volatile 함수

Golang의 Volatile 함수

Go의 가변 함수를 사용하면 함수에 가변 개수의 인수를 전달할 수 있습니다. Golang의 volatile 함수에 대해 알아야 할 모든 것을 소개합니다.

Golang의 명명된 반환 매개변수

Golang의 명명된 반환 매개변수

Golang에서는 명명된 반환 매개변수를 종종 명명된 매개변수라고 합니다. Golang에서는 함수 시그니처나 정의에서 함수의 반환 매개변수나 결과에 이름을 지정할 수 있습니다.

Go의 키워드

Go의 키워드

키워드 - 키워드는 언어에서 어떤 내부 프로세스에 사용되거나 미리 정의된 동작을 나타내는 단어입니다. Golang의 키워드에 대해 알아야 할 사항은 다음과 같습니다.

Golang의 데이터 유형

Golang의 데이터 유형

데이터 유형은 유효한 Go 변수가 포함할 수 있는 데이터 유형을 지정합니다. Go 언어에서 유형은 다음과 같이 네 가지 범주로 구분됩니다.

Golang의 함수 인수

Golang의 함수 인수

Go에서는 인수를 전달하는 두 가지 주요 방법을 지원합니다. 값으로 전달, 참조로 전달입니다. Go는 기본적으로 값으로 전달을 사용합니다.

Golang에서 여러 값을 반환하는 함수

Golang에서 여러 값을 반환하는 함수

Go 언어에서는 return 문을 사용하여 함수에서 여러 값을 반환할 수 있습니다. 즉, 함수에서 반환 문은 여러 개의 값을 반환할 수 있습니다.

Go에서의 Switch 문

Go에서의 Switch 문

대부분의 다른 프로그래밍 언어와 마찬가지로 Golang에도 switch 문이 있습니다. Golang에서 switch 문을 사용하는 방법은 다음과 같습니다.

Golang에서 선택문을 사용할 때 알아야 할 사례

Golang에서 선택문을 사용할 때 알아야 할 사례

이 글에서는 기본 케이스를 사용하여 교착 상태를 피하는 방법을 알아보겠습니다. 하지만 먼저, Golang select 명령을 사용할 때 교착 상태가 발생하는 경우를 알아보겠습니다.

Golang의 익명 구조체와 필드

Golang의 익명 구조체와 필드

Golang의 익명 구조체는 한 번만 사용되는 이름이 없는 임시 구조체인 반면, 익명 필드는 이름이 없는 필드를 내장하는 것을 허용합니다.

Golang에서 Rune을 사용하는 방법

Golang에서 Rune을 사용하는 방법

골란어의 룬은 무엇인가요? Golang에서 Rune을 어떻게 사용하나요? 이 기사에서 답을 알려드리겠습니다.

Golang의 Void 식별자

Golang의 Void 식별자

Golang에서는 _(언더스코어)를 공백 식별자라고 합니다. 식별자는 식별 목적으로 사용되는 프로그램 구성 요소의 사용자 정의 이름입니다.

Golang으로 기본 프로그램을 만드는 방법

Golang으로 기본 프로그램을 만드는 방법

안녕하세요, 세상아! 모든 프로그래밍 언어의 첫 번째 기본 프로그램입니다. 아래 단계에 따라 Golang으로 첫 번째 프로그램을 작성할 수 있습니다.

Windows에 Go를 설치하는 방법

Windows에 Go를 설치하는 방법

Golang은 윈도우에 쉽게 설치할 수 있습니다. 다음은 Windows에 Golang을 설치하는 방법에 대한 자세한 단계별 가이드입니다.

일반 TV와 스마트 TV의 차이점

일반 TV와 스마트 TV의 차이점

스마트 TV는 정말로 세상을 휩쓸었습니다. 이렇게 많은 뛰어난 기능과 ​​인터넷 연결 덕분에 기술은 우리가 TV를 시청하는 방식을 바꾸어 놓았습니다.

왜 냉동고에는 조명이 없는데 냉장고에는 조명이 있나요?

왜 냉동고에는 조명이 없는데 냉장고에는 조명이 있나요?

냉장고는 가정에서 흔히 볼 수 있는 가전제품이다. 냉장고는 보통 2개의 칸으로 구성되어 있는데, 냉장실은 넓고 사용자가 열 때마다 자동으로 켜지는 조명이 있는 반면, 냉동실은 좁고 조명이 없습니다.

Wi-Fi 속도를 저하시키는 네트워크 혼잡을 해결하는 2가지 방법

Wi-Fi 속도를 저하시키는 네트워크 혼잡을 해결하는 2가지 방법

Wi-Fi 네트워크는 라우터, 대역폭, 간섭 외에도 여러 요인의 영향을 받지만 네트워크를 강화하는 몇 가지 스마트한 방법이 있습니다.

Tenorshare Reiboot를 사용하여 데이터 손실 없이 iOS 17에서 iOS 16으로 다운그레이드하는 방법

Tenorshare Reiboot를 사용하여 데이터 손실 없이 iOS 17에서 iOS 16으로 다운그레이드하는 방법

휴대폰에서 안정적인 iOS 16으로 돌아가려면 iOS 17을 제거하고 iOS 17에서 16으로 다운그레이드하는 기본 가이드는 다음과 같습니다.

매일 요구르트를 먹으면 몸에 어떤 일이 일어날까요?

매일 요구르트를 먹으면 몸에 어떤 일이 일어날까요?

요거트는 정말 좋은 음식이에요. 매일 요구르트를 먹는 것이 좋은가요? 매일 요구르트를 먹으면, 몸에 어떤 변화가 있을까요? 함께 알아보죠!

어떤 종류의 쌀이 건강에 가장 좋은가요?

어떤 종류의 쌀이 건강에 가장 좋은가요?

이 기사에서는 가장 영양가 있는 쌀 종류와 어떤 쌀을 선택하든 건강상의 이점을 극대화하는 방법에 대해 설명합니다.

아침에 제 시간에 일어나는 방법

아침에 제 시간에 일어나는 방법

수면 일정과 취침 루틴을 정하고, 알람 시계를 바꾸고, 식단을 조절하는 것은 더 나은 수면을 취하고 아침에 제때 일어나는 데 도움이 되는 몇 가지 방법입니다.

Rent Please!를 플레이하기 위한 팁 초보자를 위한 집주인 시뮬레이션

Rent Please!를 플레이하기 위한 팁 초보자를 위한 집주인 시뮬레이션

임대해 주세요! Landlord Sim은 iOS와 Android에서 플레이할 수 있는 모바일 시뮬레이션 게임입니다. 여러분은 아파트 단지의 집주인 역할을 하며 아파트 내부를 업그레이드하고 세입자가 입주할 수 있도록 준비하여 임대를 시작하게 됩니다.

최신 욕실 타워 디펜스 코드 및 코드 입력 방법

최신 욕실 타워 디펜스 코드 및 코드 입력 방법

욕실 타워 디펜스 Roblox 게임 코드를 받고 신나는 보상을 받으세요. 이들은 더 높은 데미지를 지닌 타워를 업그레이드하거나 잠금 해제하는 데 도움이 됩니다.

변압기의 구조, 기호 및 동작 원리

변압기의 구조, 기호 및 동작 원리

변압기의 구조, 기호, 동작 원리에 대해 가장 정확한 방법으로 알아보겠습니다.

AI가 스마트 TV를 더욱 개선하는 4가지 방법

AI가 스마트 TV를 더욱 개선하는 4가지 방법

더 나은 화질과 음질, 음성 제어 등 AI 기반 기능 덕분에 스마트 TV가 훨씬 더 좋아지고 있습니다!

ChatGPT가 DeepSeek보다 나은 이유

ChatGPT가 DeepSeek보다 나은 이유

처음에 사람들은 DeepSeek에 큰 기대를 걸었습니다. ChatGPT의 강력한 경쟁자로 마케팅되는 AI 챗봇으로서, 지능적인 채팅 기능과 경험을 약속합니다.

Fireflies.ai를 만나보세요: 여러분의 업무 시간을 절약해주는 무료 AI 비서

Fireflies.ai를 만나보세요: 여러분의 업무 시간을 절약해주는 무료 AI 비서

다른 필수 사항을 적다 보면 중요한 세부 사항을 놓치기 쉽고, 채팅하면서 메모를 하려고 하면 주의가 산만해질 수 있습니다. Fireflies.ai가 해결책입니다.

마인크래프트에서 악솔로틀 키우는 법, 마인크래프트 도롱뇽 길들이는 법

마인크래프트에서 악솔로틀 키우는 법, 마인크래프트 도롱뇽 길들이는 법

Axolot Minecraft는 플레이어가 사용법을 안다면 수중에서 작업할 때 큰 도움이 될 것입니다.

A Quiet Place: The Road Ahead PC 게임 구성

A Quiet Place: The Road Ahead PC 게임 구성

'콰이어트 플레이스: 더 로드 어헤드'의 구성은 상당히 높은 평가를 받고 있으므로, 다운로드하기로 결정하기 전에 구성을 고려해야 합니다.