[카테고리:] <span>Go 언어</span>

안녕하세요. 언제나 휴일입니다.

이전 게시글에서는 콘솔에서의 입출력을 다뤘습니다. 이번 게시글부터 제어문을 다룰 거예요. Go언어의 제어문에는 조건문, 선택문, 반복문, 분기문이 있어요. 이번 게시글에서는 조건문을 다룹니다.

Go언어에서는 조건문을 작성할 때 괄호를 생략하는 것을 허용하지 않고 괄호를 붙는 위치와 else가 있어야 하는 위치가 정해져 있습니다. C언어에서 개발자에 따라 다양한 코딩 습관에 따라 괄호가 붙는 위치나 else를 작성하는 위치가 다르게 작성할 수 있었던 것을 엄격하게 한정하고 있습니다.

이처럼 엄격하게 정한 것은 개발자들의 코딩 습관에 따라 다르게 작성하여 가독할 때 서로 불편할 수 있는 여지를 미리 차단하는 효과를 줍니다.

먼저 if 조건문은 다음처럼 표현합니다. 조건식에는 식값이 참과 거짓으로 판별할 수 있는 bool 형식 값이어야 합니다.

if 조건식{

참일 때 수행할 구문

}

프로젝트를 생성하여 정수를 입력받아 짝수인지 판별하는 코드를 작성해 보세요. 앞으로 프로젝트 생성하는 화면은 생략할게요.

// Example 조건문 if만 있을
package main

import "fmt"

func main() {
	var num int
	fmt.Print("번호:")
	fmt.Scan(&num)
	if num%2 == 0 {
		fmt.Println(num, "은(는) 짝수")
	}
	fmt.Println("테스트 종료")
}

실행 결과 – 짝수 입력할 때

번호:34
34 은(는) 짝수
테스트 종료

실행 결과 – 홀수 입력할 때

번호:23
테스트 종료

if 조건식에서 괄호를 생략하면 오류입니다.

[그림 1] 괄호를 사용하지 않아 오류

괄호의 위치가 if 조건식 다음 라인에 작성하는 것도 허용하지 않습니다.

[그림 2] if 조건식 다음 라인에 괄호를 사용하여 오류

조건문을 작성할 때 조건식이 참일 때 수행할 구문과 거짓일 때 수행할 구문을 작성할 수 있어요. 이 때 거짓일 때 수행할 구문은 else를 사용합니다.

if 조건식{

참일 때 수행할 구문

}else{

거짓일 때 수행할 구문

}

프로젝트를 생성하여 정수를 입력받아 짝수인지 홀수인지 판별하는 코드를 작성하세요.

// Example 조건문 if else
package main

import "fmt"

func main() {
	var num int
	fmt.Print("번호:")
	fmt.Scan(&num)
	if num%2 == 0 {
		fmt.Println(num, "은(는) 짝수")
	}else{
		fmt.Println(num, "은(는) 홀수")
	}
	fmt.Println("테스트 종료")
}

실행 결과 – 짝수 입력할 때

번호:12
12 은(는) 짝수
테스트 종료

실행 결과 – 홀수 입력할 때

번호:11
11 은(는) 홀수
테스트 종료

else 키워드는 if문의 닫는 괄호 } 뒤에 와야 하며 else 뒤에 시작하는 괄호{ 가 와야 합니다. 만약 서로 다른 줄에 있으면 오류입니다.

[그림 3] else 키워드를 다음 라인에 표현하여 오류 발생

Go 언어