Q1. Go에서 사용하는 Concurrency 모델은?
Q2. 다음 Go 코드가 실행되었을 때, 출력값은?
func main() { for i := 0; i < 5; i++ { go func() { fmt.Println(i) }() } time.Sleep(1 * time.Second) }
Q3. 다음중 잘못된 변수 선언문은?
Q4. 다음중 Go 언어에서 기본적으로 지원하는 것은?
Q5. 다음 중 에러가 발생하는 코드는?
Q6. 다음 Go 코드가 실행되었을 때, 출력값은?
package main func main() { ch := make(chan int, 2) ch <- 1 ch <- 2 close(ch) println(<-ch) println(<-ch) }
Q7. 다음 함수가 호출될 때의 출력 값은? 입력파라미터 level 값은 2000 이다.
func check(level int) string { if tag := "*"; level > 1000 { return string(level) + tag + tag + tag } return string(level) + tag }
Q8. 다음 중 Go에서 지원되는 것은?
Q9. 다음 Go 코드가 실행되었을 때, 출력값은?
package main func main() { ch1 := make(chan int, 1) ch2 := make(chan int, 1) ch1 <- 1 ch2 <- 2 select { case c := <-ch1: println(c) case d := <-ch2: println(d) default: println(0) } }
Q10. 다음 함수를 호출할 때, id가 "1000" 이면 result 값은?
func decode(id string) (result string) { switch { case id == "100": result = "Warning" case id == "500", len(id) > 3: result = "Error" case id == "1000": result = "Not Supported" default: result = "Not Imeplemented" } return }