[Golang] 조건문 - if/else

이정훈·2023년 5월 23일
0

Golang

목록 보기
15/24
post-thumbnail

조건에 따른 실행과 흐름 분기

  • 조건문은 몇가지 엄격!하다는 특징이 있다 하지만 Go 언어는 부드러워 보여도 나름의 기준 안에서 원칙을 지키고 있다!
  • '만약' 돈이 들어온다면 음료수를 선택할 수 있게끔 빨간 불이 뜹니다. 음료수를 선택했는데 '만약' 넣은 돈보다 비싼 음료를 선택하면 음료가 나오지 않습니다. '만약' 넣은 돈과 같거나 싼 음료를 선택하면 음료가 나옵니다. '만약' 잔돈이 있다면 잔돈을 반환합니다.

True/False

  • Go언어의 조건문의 조건식은 반드시 Booleam형으로 표현되어야 한다!
  • C언어와 C++는 조건식에 1,0과 같은 숫자를 쓸 수 있는 것과 대조적!

조건식의 괄호는 생략 가능

  • "if k==o" 과 같이 괄호를 생략해서 입력해도 가능!
  • 괄호를 쓴다고 해서 실행이 안 되지는 않는다.

조건문의 중괄호는 필수

  • 다른 언어는 생략이 가능하지만 Go언에서는 반드시 중괄호를 입력!
  • 조건문을 작설 할때는 꼭 조건 블럭 안에 넣어야한다.

괄호의 시작과 else문은 같은 줄에!

  • 제일 중요!! if~else if문을 작성할 때 개발자마다 개행하는 방법이 다르다!
  • 통용되는 정석적인 코딩 방법이 있는데, Go언어는 그 방법을 따른다!
  • 조건이 시작하는 첫 번째 줄에(조건문이 아니더라도 함수같이 중괄호가 필요한 블록이 있다면) 블록 시작 브레이스 ({)를 입력해야 한다는 것!

코드

	fmt.Print("정수입력 :")
	fmt.Scan(&num)

	if num == 1
	{
		fmt.Print("hello\n")
	}
	else if num == 2
	{
		fmt.Print("world\n")
	} else
	{
		fmt.Print("worng number..\n")
	}

출력

error

코드

package main

import "fmt"

func main() {
	var num int
	
	fmt.Print("정수입력 :")
	fmt.Scan(&num)

	if num == 1 {
		fmt.Print("hello\n")
	} else if num == 2 {
		fmt.Print("world\n")
	} else {
		fmt.Print("worng number..\n")
	}
}

입력

1

출력

hello

조건식에 간단한 문장(Optional Statement) 실행 가능

  • 조건식을 실행하기 전에 간단한 문장을 함께 실행할 수 있다.
  • "if val := num*2; val==2"와 같이 조건식 앞에 변수를 선언하고 식을 입력할 수 있다.
  • 주의할 점! 조건식 전에 정의된 변수는 해당 조건문을 블록에서만 사용할 수 있다!
  • switch문, for문 등 여러 문법에서 사용할 수 있으니 기억!

코드

package main

import "fmt"

func main() {
	var num int

	fmt.Print("정수입력 :")
	fmt.Scan(&num)

	if val := num * 2; val == 2 {
		fmt.Print("hello\n")
	} else if val := num * 3; val == 6 {
		fmt.Print("world\n")
	} else {
		fmt.Print("worng number..\n")
	}
}

입력

5

출력

worng number..

코드

package main

import "fmt"

func main() {
	var opt int
	var num1, num2, result float32

	fmt.Print("1.덧셈 2.뺄셈 3.곱셈 4.나눗셈 선택:")
	fmt.Scan(&opt)
	fmt.Print("두 개의 실수 입력:")
	fmt.Scan(&num1, &num2)

	if opt == 1 {
		result = num1 + num2
	} else if opt == 2 {
		result = num1 - num2
	} else if opt == 3 {
		result = num1 * num2
	} else if opt == 4 {
		result = num1 / num2
	}

	fmt.Printf("결과: %f\n", result)
}

입력

4
1
2

출력

2

한 눈에 끝내는 고랭 기초 !!

profile
싱숭생숭늉

0개의 댓글