Go面试题34
1: 关于类型转换, 下面选项正确的是?
A.
type MyInt int
var i int = 1
var j MyInt = i
B.
type MyInt int
var i int = 1
var j MyInt = (MyInt)i
C.
type MyInt int
var i int = 1
var j MyInt = MyInt(i)
D.
type MyInt int
var i int = 1
var j MyInt = i.(MyInt)
2: 关于switch
语句,下面说法正确的有?
- A. 条件表达式必须为常量或者整数;
- B. 单个
case
中,可以出现多个结果项; - C. 需要用
break
来明确添加fallthrough
关键字,才会继续执行紧跟的下一个case
;
3: 如果Add()
函数的调用代码为:
func main() {
var a Integer = 1
var b Integer = 2
var i interface{} = &a
sum := i.(*Integer).Add(b)
fmt.Println(sum)
}
则Add
函数定义正确的是()
A.
type Integer int
func (a Integer) Add(b Integer) Integer {
return a + b
}
B.
type Integer int
func (a Integer) Add(b *Integer) Integer {
return a + *b
}
C.
type Integer int
func (a *Integer) Add(b Integer) Integer {
return *a + b
}
D.
type Integer int
func (a *Integer) Add(b *Integer) Integer {
return *a + *b
}
参考答案及解析
1: 答案及解析: C
.知识点: 强类型转化.
2: 答案及解析: BD
.
3: 答案: AC
. 知识点: 类型断言,方法集.
「真诚赞赏,手留余香」
真诚赞赏,手留余香
使用微信扫描二维码完成支付