slice
1.对于局部变量整型切片x的赋值,下面定义正确的是( )
- A.
x:=[]int{
1,2,3,
4,5,6,
}
- B.
x:=[]int{
1,2,3,
4,5,6
}
- C.
x:=[]int{
1,2,3,
4,5,6}
- D.
x:=[]int{1,2,3,4,5,6,}
解析:ACD
map
1.关于map,下面说法正确的是:
- A.map反序列化时json.unmarshal的入参必须为map的地址
- B.在函数调用中传递map,则子函数中对map元素的增加不会导致父函数中map的修改
- C.在函数调用中传递map,则子函数中对map元素的修改不会导致父函数中map的修改
- D.不能使用内置函数delete删除map的元素
解析:A
1.在src/encoding/json/decode.go中json的反序列化操作Unmarshal(data []byte, v interface{})函数必须传入的是一个 interface{}的引用类型指针,所以入参必须为map的地址func Unmarshal(data []byte, v interface{}) error
2.Go中只有值传递,没有引用传递,map作为函数参数,执行的是地址值的拷贝,即使扩容时也不会改变这个地址,B/C选项的操作必然修改源map的值。
3.在src/builtin/builtin.go中可以使用内置函数delete(map,key)按照key进行对map元素的删除操作。
// The delete built-in function deletes the element with the specified key // (m[key]) from the map. If m is nil or there is no such element, delete // is a no-op. func delete(m map[Type]Type1, key Type)
defer
1.下面程序的运行结果是:
func main() {
if true {
defer fmt.Printf("1")
} else {
defer fmt.Printf("2")
}
fmt.Printf("3")
}
- A.321
- B.32
- C.31
- D.13
解析:C
defer为延迟执行,顺序遵循先进后出的类似于栈的执行顺序:
- 1.同一个函数内的多个defer,靠下的先执行,靠上的后执行。
- 2.不同级的defer,内层先执行,外层后执行。
题中先打印3,后执行defer的部分,if的条件为true,执行打印1,else则不再执行。
function
1.可以给任意类型添加相应的方法。这一说法是否正确?
- A. true
- B.false
解析:B
必须是自定义类型
import
1.import后面的最后一个元素是包名.
- A.正确
- B.错误
解析:B
1.import后面跟的是包的路径,而不是包名;
2.import时写路径名,引用时写包名。
point
1.golang中的指针运算包括( )
- A.可以对指针进行自增或自减运算
- B.可以通过“&”取指针的地址
- C.可以通过“*”取指针指向的数据
- D.可以对指针进行下标运算
解析:BC
1.golang可以对指针【&】取指针的地址
1.golang可以对指针【*】取指针指向的内容
Mutex
1.关于同步锁,下面说法正确的是( )
- A.当一个goroutine获得了Mutex后,其他goroutine就只能乖乖的等待,除非该goroutine释放这个Mutex
- B.RWMutex在读锁占用的情况下,会阻止写,但不阻止读
- C.RWMutex在写锁占用情况下,会阻止任何其他goroutine(无论读和写)进来,整个锁相当于由该goroutine独占
- D.Lock()操作需要保证有Unlock()或RUnlock()调用与之对应
解析:ABC
1.写写互斥
读写互斥
读读相容1、RWMutex.RLock()时,可以随便读。多个goroutin同时读。不能写。
2、RWMutex.Lock()时(写的时候),啥都不能干。不能读,也不能写。
A选项正确,这就是互斥锁的作用
B和C看以上两条规则
D无论是RWMutex还是Mutex,与Lock()对应的都是Unlock()
beego
1.关于beego框架,下面说法正确的是()
- A.beego是一个golang实现的轻量级HTTP框架
- B.beego可以通过注释路由、正则路由等多种方式完成url路由注入
- C.可以使用bee new工具生成空工程,然后使用bee run命令自动热编译
- D.beego框架只提供了对url路由的处理, 而对于MVC架构中的数据库部分未提供框架支持
解析:ABC