[Go] for, if-else, switch

이한슬·2024년 1월 6일

Go

목록 보기
4/5

for

Go에서 반복문을 쓰고 싶을때는 for만 사용 가능하다.

  package main

  import "fmt"

  func cafeSet(names ...string) {
      for index, name := range names {
          fmt.Println(index, name)
      }
  }

  func main() {
      cafeSet("starbucks", "twosome", "hollys")
  }
0 starbucks
1 twosome
2 hollys

index를 사용하면 각각의 인덱스에 접근이 가능하며, range를 이용하여 자바스크립트의 forEach처럼 사용하면 된다.

물론 다음처럼 다른 언어에서 사용하던 것처럼 for문을 작성해도 된다.

func cafeSet(names ...string) {
      for i:=0; i < len(names); i++ {
      	  fmt.Println(i, names[i])
      }
}

if, else if, else

go에서 조건문을 작성할 때는 if 뒤에 바로 조건을 붙이고 {}안에 코드를 작성해주면 된다. 다른 언어처럼 ()를 쓴다던가 :를 붙인다거나 할 필요가 없다. if 조건 {}의 형태이다.

  package main

  import "fmt"
  
  func main() {
      if 1 < 2 {
      	fmt.Println("1 < 2")
      } else if 1 == 2 {
      	fmt.Println("1 == 2")
      } else {
      	fmt.Println("1 > 2")
      }
  }

if문 안에서 변수를 선언하여 사용할 수도 있다. if문 안에서 변수를 선언해주면 바로 사용할 수 있다. 이렇게 사용하면 이 변수가 조건문안에서만 사용하기 위하여 만들었음을 코드를 보는 사람들에게 알려줄 수 있다.

  package main

  import "fmt"
  
  func main() {
      if i := 1; i < 2 {
      	fmt.Println("i < 2")
      } else if i == 2 {
      	fmt.Println("i == 2")
      } else {
      	fmt.Println("i > 2")
      }
  }

switch

go도 다른 언어들처럼 switch를 사용할 수 있다.

  package main

  import "fmt"
  
  func main() {
  	  i := 1
      switch i {
      	case 1:
        	fmt.Println(1)
        case 2:
        	fmt.Println(2)
      }
  }

또는 이렇게 사용하는 것도 가능하다. 이런 방법을 사용하면 if문을 대체해 사용할 수 있다.

  package main

  import "fmt"
  
  func main() {
  	  i := 1
      switch {
      	case i == 1:
        	fmt.Println(1)
        case i == 2:
        	fmt.Println(2)
      }
  }
profile
궁금하면 일단 먹어보는 소프트웨어 전공생

0개의 댓글