go语言学习笔记之前言部分

zhaomingwei · · 1604 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

前言

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()
}

若以后要修改接口中的方法,可以重新定义一个接口来用,这样可以减少代码的修改,降低耦合性

 

 


  


有疑问加站长微信联系(非本文作者)

本文来自:博客园

感谢作者:zhaomingwei

查看原文:go语言学习笔记之前言部分

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1604 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传