GoLang If else 활용

정예서·2026년 4월 15일

My_TIL

목록 보기
14/19
post-thumbnail

GoLang Type을 공부해봤으니 이번에는 조건문을 사용해보도록 하겠슴다.

if/else

1. if 다음에 (조건문)은 Boolean식으로 표현해야 한다. (0 and 1 사용불가 error)

되는 조건
ex)

if 1 {
    // 에러 발생
}

Go는 이걸 안 해줌니다...

x := 10

if x {   // ❌ 에러
    fmt.Println("실행")
}

에러 이유 :
ㅣ x는 int인데, if는 bool만 받습니다.
그럼 어떻게 해야하나?
-> 직접 비교해서 bool을 만들어야 합니다.

x := 10
if x> 0{
	fmt.Println("실행")
}

되는 조건문
ex)

if true {
    fmt.Println("항상 실행")
}

여기서 Print문이 궁금할 수 있는데 fmt는 java로 비유하자면 System.out 과 비슷한 느낌입니다! Go는 fmt 패키지의 함수 사용을 하는겁니당!

Go에서는 if 안에 무조건 true/false가 나오는 식만 써야 한다

2. ()을 안 쓰지만 {}는 무조건 써줌.

if (조건문bool) { } <- 조건문 bool은 ()바깥에다가 작성해도 된다. but 꼭 {} 안에 넣어야 한다.

else if 혹은 else를 쓸 때 반드시 전 조건의

올바른 예시

if(){
}else{
}

but Go는 줄바꿈이나 ;붙여버리면 문장이 끝났다고 생각해 error가 발생한다.
error 예시

}
(줄바꿈)
else
};
else

알면좋은거...?

Go의 if는 이렇게 쓸 수 있다.

if 초기문; 조건문{
	//실행
}

초기문 -> 선택
조건문 -> 반드시 bool

<소스 해석>
1. 초기문 -> 먼저 실행됨
2. 조건문 -> 조건 검사
3. true면 실행

but 초기문은 if문 안에서만 살아있는 변수다. 바깥에서 불러오면 error(범위 밖)가 발생한다.

❔❔초기문; <- ; 왜 쓰는 건가요?

조건문과 초기문을 구별하기 위해서임!

진짜 핵심만 다시 딱 요약하자면?
if 조건 {} → 기본
if 실행문; 조건 {} → 고급 (근데 엄청 자주 씀)

1개의 댓글

comment-user-thumbnail
2026년 4월 20일

우아 대박 열공햇넹~~ㅋㅋㅎㅎ

답글 달기