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])
}
}
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")
}
}
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)
}
}