提交 e27921b1 编写于 作者: 麻凡_'s avatar 麻凡_

完成高阶第一部分

上级 bc6974ab
{
"type": "code_options",
"author": "dengmengmian",
"source": "defer.md",
"notebook_enable": false
}
\ No newline at end of file
# defer 语句的执行顺序
下面的程序的运行结果是:
```Go
func main() {
if true {
defer fmt.Printf("1")
} else {
defer fmt.Printf("2")
}
fmt.Printf("3")
}
```
## 答案
31
## 选项
### A
13
### B
32
### C
321
{
"type": "code_options",
"author": "dengmengmian",
"source": "error.md",
"notebook_enable": false
}
\ No newline at end of file
# 错误处理最佳实践
关于错误处理最佳实践说法错误的是:
## 答案
在程序启动的时候,如果有强依赖的服务出现故障时不要使用 panic
## 选项
### A
在错误处理时,尽量不要使用 panic 和 recover
### B
当 if err != nil 时及时返回错误,从而避免过多的代码嵌套
### C
使用 New 函数创建自定义错误
{
"type": "code_options",
"author": "dengmengmian",
"source": "file.md",
"notebook_enable": false
}
\ No newline at end of file
# 文件权限
在 Linux 系统下,Go 创建文件没有权限,以下操作错误的是:
## 答案
使用 root 用户执行程序
## 选项
### A
修改对应用户的文件创建权限
### B
调用`os.MkdirAll` 方法给予权限
### C
先创建文件,然后再改变文件的权限
{
"type": "code_options",
"author": "dengmengmian",
"source": "reflect.md",
"notebook_enable": false
}
\ No newline at end of file
# 反射的使用
关于反射说法错误的是:
## 答案
使用反射代码可维护性更高。
## 选项
### A
反射是 Go 中的高级用法之一。是程序在运行时检查其变量和值并找到它们的类型的能力。
### B
反射最常见的使用场景是做对象的序列化
### C
使用反射编写清晰且可维护的代码非常困难。应尽可能避免使用,仅在绝对必要时使用。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册