GO 퀴즈 테스트 101

Q1. 다음 중 GO Workspace 폴더에 있어야 하는 서브디렉토리가 아닌 것은?

bin
lib
src
pkg

Q2. 다음 중 Go의 Zero Value에 대한 설명으로 틀린 것은?

int 타입의 zero value는 0 이다.
float32 타입의 zero value는 0.0 이다.
string 타입의 zero value는 nil 이다.
bool 타입의 zero value는 false 이다.

Q3. 다음 중 Go에서 지원하는 데이타 타입이 아닌 것은?

complex128
uint8
float128
rune

Q4. $GOPATH가 C:\GoApp;C:\GoSrc 으로 설정되어 있고, C:\GoSrc\src\mylib\mylib.go 안에 mylib 라는 사용자 정의 패키지를 작성하였다. C:\GoSrc\src\test\main.go 메인패지키 안에서 mylib 패키지를 import 하였을 때, 실행시 mylib 패키지를 import하기 위해 찾는 경로가 아닌 것은?

C:\Go\src\mylib
C:\GoApp\src\mylib
C:\GoSrc\src\test\mylib
C:\GoSrc\src\mylib

Q5. 다음 Go 코드가 실행되었을 때, 출력값은?

func main() {
	x := 5
	y := &x
	z := x ** y

	println(z)
}

5
25
3125
실행시마다 다르다

Q6. 다음 중 Go 언어의 string 타입에 대한 설명으로 틀린 것은?

string은 문자를 표현하는 일련의 바이트이다.
string은 변경 가능한 Mutable 타입이다.
string 상수은 이중인용부호(")를 사용하여 표현할 수 있다.
string 상수은 BackQuote(`)를 사용하여 표현할 수 있다.

Q7. 다음 Go 코드가 실행되었을 때, 출력값은?

func main() {
	a := [3]int{1, 2, 3}
	b := a
	b[1] = 100
	
	fmt.Println(a)
}

[1 2 3]
[100 2 3]
[1 100 3]
[1 2 3 100]

Q8. 다음 Go 코드가 실행되었을 때, 출력값은?

package main

import (
	"fmt"
	"reflect"
)

func main() {
	a := [3]int{}
	b := [5]int{}
	c := reflect.TypeOf(a) == reflect.TypeOf(b)
	fmt.Println(c)
}

true
false
1
런타임에러

Q9. 다음 Go 코드가 실행되었을 때, 출력값은?

func main() {
	hasValue := 1

	if hasValue {
		println("true")
	} else {
		println("false")
	}
}

true
false
1
컴파일 에러

Q10. 다음 중 유효한 for 루프문이 아닌 것은?

for { ... }
for k > 1 { ... }
for i := 1; i <= 100; i++ { ... }
for i,j,k := range keys { ... }