Go语言试题
1.import后面的最后一个元素是包名?
A :正确
B :错误
正确答案:B 解析:import后面跟的是包的路径,而不是包名
2. switch后面可以不跟表达式。这一说法是否正确
A :正确
B :错误
正确答案 :A
3.golang中大多数数据类型都可以转化为有效的JSON文本,下面几种类型除外()
A :指针
B :channel
C :complex
D :函数
正确答案 :B C D 解析 :
golang中大多数数据类型都可以转化为有效的JSON文本,除了channel、complex、函数等。在golang指针中可进行隐式转换,对指针取值,对所指对象进行序列化。
4.golang中没有隐藏的this指针,这句话的含义是()
A : 方法施加的对象显式传递,没有被隐藏起来
B : golang沿袭了传统面向对象编程中的诸多概念,比如继承、虚函数和构造函数
C : golang的面向对象表达更直观,对于面向过程只是换了一种语法形式来表达
D : 方法施加的对象不需要非得是指针,也不用非得叫this
正确答案 :A C D 解析 :
A:方法施加的对象显式传递,指的是接收器。需要给结构体增加方法时,需要使用 func (a 结构体名) 方法名(参数列表) (返回值列表) {函数体} 这种形式,在函数体里面,调用结构体成员的时候使用的就是 a.xxx,用 c 语言的方式来解释,就是将对象作为参数传入了函数,函数调用这个参数从而访问对象的成员,当然这个函数是友联函数,可以访问任意访问权限的成员 B:golang 不存在虚函数 C:这玩意看不懂,函数实现接口那块怎么解释?这也是面向对象?至于简化,这不是很主观的词嘛?怎么可以用在客观题上。。我就觉得不简化,那怎么答案是简化呢?不懂... D:参考 A,可以传对象,不一定要传对象指针,至于名字,喜欢可以用 this,不喜欢可以看 A,用 a/b/c,随你喜欢,go 推荐用结构体名首字母小写
A:方法施加的对象显式传递,指的是接收器。需要给结构体增加方法时,需要使用 func (a 结构体名) 方法名(参数列表) (返回值列表) {函数体} 这种形式,在函数体里面,调用结构体成员的时候使用的就是 a.xxx,用 c 语言的方式来解释,就是将对象作为参数传入了函数,函数调用这个参数从而访问对象的成员,当然这个函数是友联函数,可以访问任意访问权限的成员 B:golang 不存在虚函数 C:这玩意看不懂,函数实现接口那块怎么解释?这也是面向对象?至于简化,这不是很主观的词嘛?怎么可以用在客观题上。。我就觉得不简化,那怎么答案是简化呢?不懂... D:参考 A,可以传对象,不一定要传对象指针,至于名字,喜欢可以用 this,不喜欢可以看 A,用 a/b/c,随你喜欢,go 推荐用结构体名首字母小写
5.golang中的引用类型包括()
A :数组切片
B :map
C :channel
D :interface
正确答案 :B C D