[예제로 배우는 Go 프로그래밍] 2. 연산자, 조건문, 반복문

Melon Coder·2024년 6월 12일

Go

목록 보기
6/14

1. 연산자

산술연산자

사칙연산자: +, -, *, /, %
증감연산자: ++, -

관계연산자

a == b
a != c
a >= b

논리연산자

A && B
A || !(C && B)

Bitwise 연산자

비트단위 연산을 위해 사용됨.

c = (a & b) << 5

할당연산자

a = 100
a *= 10
a >>= 2
a |= 1

포인터연산자

포인터연산자는 & 혹은 * 을 사용하여 해당 변수의 주소를 얻어내거나 반대로 Dereference 할 때 사용한다.
하지만 Go에는 포인터 연산 기능을 제공하진 않는다.

var k int = 10
var p = &k // k의 주소를 할당

2. 조건문

if문

조건식을 괄호() 로 감싸지 않아도 된다.
또한 if문의 조건식은 반드시 Boolean 식으로 표현되어야 한다.

if k == 1 {
	println("One")
}

switch 문

Go 에서는 case 블럭 마지막에 break를 생략해도 된다.
만약 이러한 default 기능인 break를 사용하지 않고 계속 아래 코드 블럭들을 실행하게 하려면 fallthrough 문을 명시해 주면 된다.

3. 반복문

for 문

Go에서 반복문은 for 하나 밖에 없다.
초기값; 조건식; 증감을 둘러싸는 괄호()는 생략해야 한다.

또한 초기값과 증감식을 생략하고 조건식만을 사용할 수 있다.

func main() {
	n := 1
    for n < 100 {
    	n *= 2
    }
    println(n)
}

for 루프로 무한루프를 만들려면 초기값, 조건식, 증감 모두 생략하면 된다.

func main() {
	for {
    	println("무한루프")
	}
}

for range 문은 한 요소씩 가져와서 차례로 for 블럭의 문장들을 실행한다.
js의 forEach와 비슷하다.

for 인덱스, 요소값 := range 컬렉션 과 같이 for 루프를 구성한다.

names := []string{"홍길동", "이순신", "강감찬"}

for index, name := range names {
	println(index, name)
}

break, continue, goto 문
for 루프 내에서 즉시 빠져나오려면 break,
for 루프의 중간에서 나머지 코드들을 실행하지 않고 for 루프 시작부분으로 바로 가려면 continue,
기타 임의의 코드로 이동하기 위해서 goto 문을 사용할 수 있다.

goto 문은 for 루프와 관련없이 사용될 수 있다.
break 문은 for 루프 이외에 switch문이나 select문에서도 사용할 수 있다.
continue는 for 루프와 연관되어 사용된다.

profile
About me: https://resume-seven-beige.vercel.app/

0개의 댓글