[Go] 4. 연산자

garam0410·2021년 4월 6일
0

Golang

목록 보기
4/6
post-thumbnail

연산자란?

연산자(operator)

연산을 나타내는 문자 (+, -, *, / 등)


연산자의 종류

Golang Operator Docs

산술연산자

  • 더하기 ( + )
  • 빼기 ( - )
  • 곱하기 ( * )
  • 나누기 ( / )

비트연산자

  • AND ( & )
  • OR ( | )
  • XOR ( ^ )
  • NOT ( ^ )
  • ShiftLeft( << )
  • ShiftRight( >> )

논리(비교)연산자

  • 크기 비교 (<, <=, >, =>)
  • 같다 ( == )
  • 다르다 ( != )
  • 참 거짓의 같다 ( && )
  • 참 거짓의 다르다 ( || )
  • NOT ( ! )

산술 연산자

잘 알고있는 덧셈, 뺄셈, 곱셈, 나눗셈 연산

package main

import "fmt"

func main() {

	var a = 5
	var b = 2

	fmt.Println(a + b) // 덧셈
	fmt.Println(a - b) // 뺄셈
	fmt.Println(a * b) // 곱셈
	fmt.Println(a / b) // 몫
	fmt.Println(a % b) // 나머지
}

비트 연산자

2진의 숫자로 나타낸 값의 자릿수를 계산하는 연산

  • 5 & 2 => 0

  • 5 | 2 => 7

  • 5 ^ 2 => 7

  • 2 << 1

  • 2 >> 1

package main

import "fmt"

func main() {

	var a = 5
	var b = 2

	fmt.Printf("a&b = %v\n", a&b) // and
	fmt.Printf("a|b = %v\n", a|b) // or
    	fmt.Printf("a^b = %v\n", a^b) // xor
    	fmt.Println(a << 1)           // 한 비트 왼쪽으로 이동
	fmt.Println(a >> 1)           // 한 비트 오른쪽으로 이동
}

논리 연산자

참, 거짓을 판단하는 연산자

package main

import "fmt"

func main() {

	var a = 5
	var b = 2

	fmt.Println(a > b)              // true
	fmt.Println(a <= b)             // false
	fmt.Println(a != b)             // true
	fmt.Println(a > b && a == 5)    // true
	fmt.Println(a < b || a == 5)    // true
	fmt.Println(a < b || !(a == 5)) // false
}

전체 코드

GO 소스파일

package main

import "fmt"

func main() {

	var a = 5
	var b = 2

	fmt.Println(a + b) // 덧셈
	fmt.Println(a - b) // 뺄셈
	fmt.Println(a * b) // 곱셈
	fmt.Println(a / b) // 몫
	fmt.Println(a % b) // 나머지

	fmt.Printf("a&b = %v\n", a&b) // and
	fmt.Printf("a|b = %v\n", a|b) // or
	fmt.Printf("a^b = %v\n", a^b) // xor
	fmt.Println(b << 1)           // 한 비트 왼쪽으로 이동
	fmt.Println(b >> 1)           // 한 비트 오른쪽으로 이동

	fmt.Println(a > b)              // true
	fmt.Println(a <= b)             // false
	fmt.Println(a != b)             // true
	fmt.Println(a > b && a == 5)    // true
	fmt.Println(a < b || a == 5)    // true
	fmt.Println(a < b || !(a == 5)) // false
}

0개의 댓글