golang 기초 - 연산자

한나리·2023년 6월 26일

Go

목록 보기
2/19
post-thumbnail

연산자

산술 연산자

var a int = 20 	//a := 20
var b int = 10 	//b := 10

fmt.Println(a + b) 	//30
fmt.Println(a - b) 	//10
fmt.Println(a * b) 	//200
fmt.Println(a / b) 	//2
fmt.Println(a % b) 	//0

비교 연산자

var a int = 20 	//a := 20
var b int = 10 	//b := 10

fmt.Println(a == b) 	//false
fmt.Println(a != b) 	//true
fmt.Println(a < b) 		//false
fmt.Println(a > b) 		//true
fmt.Println(a <= b) 	//false
fmt.Println(a >= b) 	//true

대입 연산자

var a int = 20 	//a := 20
var b int = 10 	//b := 10

b = a
fmt.Println(b) //20

논리 연산자

논리연산자

var a bool = true 	//a := ture
var b bool = false	//b := 10

// AND 논리 연산자
fmt.Println(a && a) //true
fmt.Println(a && a) //false
fmt.Println(a && a) //false

// OR 논리 연산자
fmt.Println(a && a) //true
fmt.Println(a && a) //true
fmt.Println(a && a) //false

// NOT 논리 연산자
fmt.Println(a && a) //false
fmt.Println(a && a) //true

증감 연산자

var a int = 20 	//a := 20
var b int = 10 	//b := 10

a++ //a = a+1
b-- //b = b-1

fmt.Println(a) //11
fmt.Println(b) //19

비트 연산자

var a uint8 = 10 	// 0000 1010
var b uint8 = 30 	// 0001 1110

fmt.Println(a & b) 	// 10 : 0000 1010
fmt.Println(a | b) 	// 30 : 0001 1110
fmt.Println(a ^ b) 	// 20 : 0001 0100  (XOR: 다르면 1 같으면 0)
fmt.Println(^b) 	// 225 : 1110 0001 (비트 반전)
fmt.Println(a &^ b) // 0 : 0000 0000  (NAND : 첫번째 값이 1이고 두번째 값이 0인 경우에 1을 반환)
package main

import (
	"fmt"
    "strconv"
)

func main() {
var a uint8 = 20 	// 0001 0100

data := strconv.FormatInt(int64(a), 2)) //데이터를 2진수로 변환
fmt.Println(data) 	// 10100

}

시프트 연산자

var a uint8 = 10 	// 0000 1010

fmt.Println(a << 3) 	// 80 : 0101 0000 오른쪽으로 이동
fmt.Println(a >> 3) 	// 1 : 0000 0001 왼쪽을 이동

연산자 우선순위

PrecedenceOperator
1* / % << >> & &^
2+ - ㅣ ^
3== != < <= > >=
4&&
5ㅣㅣ
profile
내가 떠나기 전까지는 망하지 마라, 블록체인 개발자

0개의 댓글