[Go] if 문

2022. 8. 15. 22:19·개발/Go
728x90
반응형

1. if문 기본 사용법

if 조건문{
    문장
} else if 조건문{
    문장
} else{
    문장
}

 

2. if문 예시 1

package main

import "fmt"

func main(){
	temp:= 33
	if temp > 28{
		fmt.Println("에어컨을 켠다")
	} else if temp <= 3{
		fmt.Println(("히터를 켠다"))
	} else if temp <= 18{
		fmt.Println("나가자!")
	} else{
		fmt.Println("덥다")
	}
}

//에어컨을 켠다

3. if문 예시 2

package main

import "fmt"

func main (){
	var age = 22
	if age >= 10 && age <=15{
		fmt.Println("You ar young")
	} else if age >30 || age <20{
		fmt.Println("You ar not 20s")
	}else{
		fmt.Println("Best age")
	}
}


//Best age

4. 쇼트 서킷

|| 의 좌변이 true이면 우변은 무시되고 결과가 true가 된다.

|| 의 좌변이 false이면 우변까지 true,false인지 검사를 하게 된다.

&&의 좌변이 true이면 우변까지 true,false인지 검사를 하게 된다.

&&의 좌변이 false이면 우변은 무시되고 결과가 false가 된다.

 

5. 예시

package main

import (
	"fmt"
)

//전역변수 : 패키지내에서 쓸수있다.
var cnt int = 0

func IncreaseAndReturn() int{
	fmt.Println("IncreaseAndReturn()",cnt)
	cnt++
	return cnt
}

func main(){
	if false && IncreaseAndReturn()<5{
		fmt.Println("1 증가")
	}
	//이경우 함수가 호출조차 되지 않는다.
	if true && IncreaseAndReturn()<5{
		fmt.Println("1 증가")
	}
	//이경우 뒤의 함수를 호출해서 true,false 를 검사한다.
	if false || IncreaseAndReturn()<5{
		fmt.Println("1 증가")
	}
	//이경우 뒤의 함수를 호출해서 true,false 를 검사한다.
	if true || IncreaseAndReturn()<5{
		fmt.Println("1 증가")
	}
	//이경우 함수가 호출조차 되지 않는다.
}

6. 소괄호 활용

조건이 복잡해지면 소괄호를 이용하여 묶어준다.

if hasBooked() || (money > 200 && hasempty())

 

7. 중첩 if

조건이 복잡해지면 if문안에 if문이 들어간다.

package main

import "fmt"

func HasRichFriend() bool {
	return true
}

func GetFriendsCount() int{
	return 3
}

func main(){
	price := 35000

	if price >= 50000{
		if HasRichFriend(){
			fmt.Println("앗 신발끈이 풀렸네")
		} else{
			fmt.Println("나눠내자")
		}
	} else if price >= 30000{
		if GetFriendsCount() > 3{
			fmt.Println("어이쿠 신발끈이...")
		} else{
			fmt.Println("사람도 얼마 없는데 나눠내자.")
		}
	}
}

//사람도 얼마 없는데 나눠내자.

8. 초기문, 조건문

문법

if 초기문; 조건문{
    문장
}

예시

if filename, success := UploadFile(); success{
    fmt.Println("Upload success", filename)
}else{
    fmt.Println("Failed to upload")
}

여기서 UploadFile()은 return값이 2개이고 두번째 값은 boolean타입일 것이다.

대체로 함수에서 boolean값은 함수의 성공여부를 반환한다.

그렇기 때문에 함수가 불러와지면 true를 return한다.

 

if 함수 ; success{
	문장
}

대부분 조건문이 들어가면 이런식으로 많이 쓴다.

728x90
반응형

'개발 > Go' 카테고리의 다른 글

[Go] switch문  (0) 2022.08.16
[Go] const(상수)  (0) 2022.08.11
[Go] 함수(function)  (0) 2022.08.10
[Go] 연산자  (0) 2022.08.10
[Go] Golang fmt 패키지  (0) 2022.08.03
'개발/Go' 카테고리의 다른 글
  • [Go] switch문
  • [Go] const(상수)
  • [Go] 함수(function)
  • [Go] 연산자
TeTedo.
TeTedo.
  • TeTedo.
    TeTedo 개발 일기
    TeTedo.
  • 전체
    오늘
    어제
    • 분류 전체보기 (319)
      • 개발 (274)
        • Article (4)
        • 정리 (21)
        • Spring Boot (17)
        • JPA (2)
        • JAVA (6)
        • Database (4)
        • 자료구조 (11)
        • 알고리즘 (32)
        • React (20)
        • Docker (10)
        • node.js (18)
        • Devops (11)
        • Linux (4)
        • TypeScript (3)
        • Go (10)
        • HyperLedger (4)
        • BlockChain (43)
        • html, css, js (48)
        • CS (3)
        • AWS (3)
      • 모아두고 나중에 쓰기 (3)
      • 팀프로젝트 (18)
        • SNS(키보드워리어) (9)
        • close_sea (9)
      • 개인프로젝트 (1)
        • Around Flavor (1)
        • CHAM (13)
        • ethFruitShop (5)
      • 독서 (0)
        • 스프링부트와 AWS로 혼자 구현하는 웹 서비스 (0)
  • 블로그 메뉴

    • 홈
    • 개발일기
    • CS
    • 실습
    • 코딩테스트
    • 웹
    • Go
    • node.js
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    React
    ERC721
    mysql
    node.js
    30일챌린지
    nodejs
    html
    go언어
    js
    블록체인
    컨테이너
    CSS
    30일 챌린지
    하이퍼레저
    node
    프로그래머스
    erc20
    도커
    go
    명령어
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
TeTedo.
[Go] if 문
상단으로

티스토리툴바