前言
1、针对权限访问修饰符的规范
go语言要求public修饰的变量以大写字母开头
以private修饰的变量以小写字母开头
这样可以直接免除public和private关键字
2、花括号位置规范
if expression{ if expression
...... { ......
} }
这种是正确的写法 这种是错误的写法
3、go语言的错误处理机制优势,有error类型
4、用go语言模仿继承时,若充当父类的结构体a与充当子类的结构体b中有相同名称的属性v,在b调用a的方法输出v的值时,打印输出的会是父类属性值
例如下列代码:
package main
import "fmt"
type Dog struct {
name string
}
type BDog struct {
Dog
name string
}
func (this *Dog) callMyName() {
fmt.Printf("my name is %q\n", this.getName())
}
func (this *Dog) getName() string {
return this.name
}
func main() {
b := new(BDog)
b.name = "this is a BDog name"
b.Dog.name = "this is a Dog name"
b.callMyName()
}
5、go语言接口与类型可以相互转换,但类型要实现接口的所有方法
type Bird struct {
...
}
func (b *Bird) Fly() {
// 以鸟的方式飞行
}
type IFly interface {
Fly()
}
func main() {
var fly IFly = new(Bird)
fly.Fly()
}
若以后要修改接口中的方法,可以重新定义一个接口来用,这样可以减少代码的修改,降低耦合性
有疑问加站长微信联系(非本文作者)