1 花括号的使用:
if expression {//正确使用方式
...
}
但下面这个写法就是错误的:
if expression
{
...}
2 Go 语言首创的错误处理规范:
f, err := os.Open(filename)
if err != nil {
log.Println("Open file failed:", err)
return
}
defer f.Close()
... // 操作已经打开的f文件
2.1 defer关键字
其一是 defer 关键字。 defer 语句的含义是不管程序是否出现异常,均在函数退出时自动执行相关代码
2.2 函数允许多个返回值
大多数函数的最后一个返回值会为 error 类型, error 类型只是一个系统内置的 interface
type error interface {
Error() string
}
3 go语言编程范式
3.1 Go语言反对函数和操作符重载(overload)
3.2 Go语言支持类、类成员方法、类的组合,但反对继承,反对虚函数(virtual function)和虚函数重载。
3.3 Go语言也放弃了构造函数(constructor)和析构函数(destructor)
在放弃了大量的OOP特性后,Go语言送上了一份非常棒的礼物:接口(interface) 。
有疑问加站长微信联系(非本文作者)