不定项选择题

📢注意!全部都是不定项选择题!
1.value是整型变量,下面if表达式符合编码规范的是()
A. if value == 0
B. if value
C. if value != 0
D. if !value
2.关于switch语句,下面说法正确的有()
A.条件表达式必须为常量或者整数
B.单个case中,可以出现多个结果选项
C.需要用break来明确退出一个case
D.只有在case中明确添加fallthrough关键字,才会继续执行紧跟的下一个case
3.关于整型切片的初始化,下面正确的是()
A. s := make([]int)
B. s := make([]int, 0)
C. s := make([]int, 5, 10)
D. s := []int{1, 2, 3, 4, 5}
4.关于main函数(可执行程序的执行起点),下面说法正确的是()
A. main函数不能带参数
B. main函数不能定义返回值
C. main函数所在的包必须为main包
D. main函数可以import导入的包或者声明的变量可以不使用
5.下面的程序的运行结果是()

func main() {

        if (true) {

            defer fmt.Printf("1")

        } else {

            defer fmt.Printf("2")

        }

        fmt.Printf("3")}

}

A.321
B.32
C.31
D.13
6.关于函数声明,下面语法错误的是()
A. func f(a, b int) (value int, err error)
B. func f(a int, b int) (value int, err error)
C. func f(a, b int) (value int, error)
D. func f(a int, b int) (int, int, error)
7.golang中大多数数据类型都可以转化为有效的JSON文本,下面几种类型除外()
A.指针
B.channel
C.map
D.函数
8.关于异常的触发,下面说法正确的是()
A.空指针解析
B.下标越界
C.除数为0
D.调用panic函数
9.关于无缓冲和有冲突的channel,下面说法正确的是()
A.无缓冲的channel是默认的缓冲为1的channel
B.无缓冲的channel和有缓冲的channel都是同步的
C.无缓冲的channel和有缓冲的channel都是非同步的
D.无缓冲的channel是同步的,而有缓冲的channel是非同步的
10.关于同步锁,下面说法正确的是()
A. 当一个goroutine获得了Mutex后,其他goroutine就只能乖乖的等待,除非该goroutine释放这个Mutex
B. RWMutex在读锁占用的情况下,会阻止写,但不阻止读
C. RWMutex在写锁占用情况下,会阻止任何其他goroutine(无论读和写)进来,整个锁相当于由该goroutine独占
D. Lock()操作需要保证有Unlock()或RUnlock()调用与之对应
11.以下在go语言是正确的是()
A.var i = []int{}
B.i := []int{}
C.i := [4]int{}
D.i = make([4]int)
12.关于Context,以下正确的是()
A.线程安全,可以在多个goroutine中传递
B.调用ctx, cancel := context.WithTimeout(context.TODO())的时候拿到两个返回值后,cancel可以不执行
C.Context不能用于传递参数
D.context.Background()和context.Todo()本质上都是emptyCtx结构体类型
13.以下执行的结果应该是()


A.输出0
B.输出正数
C.输出负数
D.输出不确定
E.panic
14.以下输出的结果应该是()


A.输出0
B.输出正数
C.输出负数
D.输出不确定
E.panic
15.以下输出的结果应该是()


A.输出0
B.输出正数
C.输出不确定
D.panic

15题 | 被引用0次

使用此模板创建