标签:already 错误 查看 表达 abd int erro const 表示
注释:
本文中出现的所有题目均来自于网络
本人只是对其进行解答和注释
所有题目均为个人解答方案,如有纰漏或更好的解答欢迎指正
如果有需要更详细解答的题目也可以留言
[答案]:ABC
[解析&扩展]:
这题类似于第一题,于全局变量不同的是,局部变量可以使用:=
自动推导的方式,而全局变量不可以,必须使用var关键字。因此ABC均正确。D既没有使用:=
自动推导类型,也没有使用var关键字声明。
const Pi float64 = 3.14159265358979323846
const zero= 0.0
B.
const (
size int64= 1024
eof = -1
)
C.
const (
ERR_ELEM_EXISTerror = errors.New("element already exists")
ERR_ELEM_NT_EXISTerror = errors.New("element not exists")
)
D.
const u, vfloat32 = 0, 3
const a,b, c = 3, 4, "foo"
[答案]:ABD
[解析&扩展]:
A: 正常的常量申明,正确--const在声明并初始化的时候可以不需要指定数据类型,因此正确。
B: var和const都可以使用小括号来声明多个变量/常量,这样可以免去在每一个变量前面都需要使用关键字声明。因此B正确。
C:无法把一个错误信息转化为const,因此C错误。
D:const于var都可以使用平行赋值的方式初始化,因此D正确。
[答案]:BC
[解析&扩展]:
A,D是对布尔变量的赋值,因此正确。(判断两个数是否相等会产生一个布尔值)
B是无法将int转化为bool--golang不支持隐式转化。
C则是使用了go中不存在的语法,因此错误。
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的执行机制是先进后出--即在代码中优先到达的defer语句,反而会后被执行。但是defer是在整个函数调用结束,之后才执行(但是会在return之前)所以:
main函数优先被执行完成,所以会输出3,由于if语句的判断条件恒为true,所以只有第一个defer语句会被执行,第二个并不会,所以会输出1,并且在main函数的输出语句之后,因此,会输出31。
PS: 这一类问题可以在编译器中加断点然后单步执行,查看程序执行顺序。
[答案]:BD
[解析&扩展]:
A: 最简单的反驳,字符也是可以的,因此A错误。
B: 一个case可以有多个触发条件,避免了代码的冗余,因此B正确。
C: GO中每一个case执行完成之后会默认结束此case,并不用break,因此错误。
D: 每一个case执行结束后都会默认结束switch语句,除非有fallthrough关键字,才会接着执行后面的case,因此D正确。
[答案]:ACD
[解析&扩展]:
A:如java,C++会在类的内部实现中使用this关键字表示调用该方法的对象,但是在golang中方法有明确的接收者(写在func关键字和函数名之间),因此并不需要使用this关键字。所以A正确。
B: golang并没有提供继承,只是通过结构体嵌套变相的实现了继承,至于虚函数那是C++中的概念,golang中并未提及,因此B错误。
C:虽然golang是面向接口(interface)编程,但是也可以实现面向对象,因为结构体在golang中的灵活,所以也变得更加直观,因此C正确。
D: 非指针结构体也可以调用其方法,所以D正确。
[答案]:ABCD
[解析&扩展]:
就和人类包括日本人一样,没有理由,因为golagn在设计最初就是把他们设计成引用类型的。
[答案]:BC
[解析&扩展]:
B,C是指针的两个操作方式,即取地址和解引用,因此正确。
A,D都是对指针的非法操作--可能导致内存泄漏。因此错误。
[答案]:ABCD
[解析&扩展]:
同17,因为就是这样设计的,想要知道为什么,只有问golang最初的设计者。
[答案]:BD
[解析&扩展]:
A: nil不能直接付给一个未初始化的变量,因此错误。
B:空接口可以接受任何参数,包括nil,因此正确。
C:同A。
D:error类型可以为nil--最常见的如各种函数的返回值中,第二个返回值往往就是bool或者error,在调用完之后需要判断error是否为nil。因此D正确。
标签:already 错误 查看 表达 abd int erro const 表示
原文地址:https://www.cnblogs.com/ltozvxe/p/14664959.html