1. 【初级】数组是一个值类型()
参考答案:T
2. 【初级】使用map不需要引入任何库()
参考答案:T
3. 【中级】内置函数delete可以删除数组切片内的元素()
参考答案:F
4. 【初级】指针是基础类型()
参考答案:F
5. 【初级】 interface{}是可以指向任意对象的Any类型()
参考答案:T
6. 【中级】下面关于文件操作的代码可能触发异常()
7. file, err := os.Open("test.go")
8. defer file.Close()
9. if err != nil {
fmt.Println("open file failed:",err)
return
}
...
参考答案:T
参考答案:F
参考答案:T
参考答案:F
【初级】下面代码中两个斜点之间的代码,比如json:"x",作用是X字段在从结构体实例编码到JSON数据格式的时候,使用x作为名字,这可以看作是一种重命名的方式()
type Position struct {
X int json:"x"
Y int json:"y"
Z int json:"z"
}
参考答案:T
参考答案:T
参考答案:F
参考答案:F
【初级】下面的程序的运行结果是xello()
func main() {
str := "hello"
str[0] = 'x'
fmt.Println(str)
}
参考答案:F
参考答案:T
【初级】下面代码中的指针p为野指针,因为返回的栈内存在函数结束时会被释放()
type TimesMatcher struct {
base int
}
func NewTimesMatcher(base int) *TimesMatcher{
return &TimesMatcher{base:base}
}
func main() {
p := NewTimesMatcher(3)
...
}
参考答案:F
参考答案:T
参考答案:T
参考答案:T
参考答案:T
参考答案:F
参考答案:F
参考答案:T
参考答案:F
参考答案:T
参考答案:T
参考答案:T
参考答案:T
参考答案:T
【中级】当函数deferDemo返回失败时,并不能destroy已create成功的资源()
func deferDemo() error {
err := createResource1()
if err != nil {
return ERR_CREATE_RESOURCE1_FAILED
}
defer func() {
if err != nil {
destroyResource1()
}
}()
err = createResource2()
if err != nil {
return ERR_CREATE_RESOURCE2_FAILED
}
defer func() {
if err != nil {
destroyResource2()
}
}()
err = createResource3()
if err != nil {
return ERR_CREATE_RESOURCE3_FAILED
}
return nil
}
参考答案:F
参考答案:F
参考答案:F
原文链接:https://blog.csdn.net/itcastcpp/article/details/80462619
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。