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

안되는 조건
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가 나오는 식만 써야 한다
if (조건문bool) { } <- 조건문 bool은 ()바깥에다가 작성해도 된다. but 꼭 {} 안에 넣어야 한다.
올바른 예시
if(){
}else{
}
but Go는 줄바꿈이나 ;붙여버리면 문장이 끝났다고 생각해 error가 발생한다.
error 예시
}
(줄바꿈)
else
};
else
Go의 if는 이렇게 쓸 수 있다.
if 초기문; 조건문{
//실행
}
초기문 -> 선택
조건문 -> 반드시 bool
<소스 해석>
1. 초기문 -> 먼저 실행됨
2. 조건문 -> 조건 검사
3. true면 실행
but 초기문은 if문 안에서만 살아있는 변수다. 바깥에서 불러오면 error(범위 밖)가 발생한다.
❔❔초기문; <- ; 왜 쓰는 건가요?
조건문과 초기문을 구별하기 위해서임!
진짜 핵심만 다시 딱 요약하자면?
if 조건 {} → 기본
if 실행문; 조건 {} → 고급 (근데 엄청 자주 씀)
우아 대박 열공햇넹~~ㅋㅋㅎㅎ