Go 语言理解

栏目: Go · 发布时间: 7年前

内容简介:面向对象,是软件工程中的重要思想。我们入手一门新的编程语言,需要先了解它的基本语法,然后就是如何面向对象编程。Go 是一门强类型语言,具有并发、安全等优势。函数是按值传递,这一点很重要

面向对象,是软件工程中的重要思想。我们入手一门新的编程语言,需要先了解它的基本语法,然后就是如何面向对象编程。

Go 基础知识

Go 是一门强类型语言,具有并发、安全等优势。

函数

函数是按值传递,这一点很重要

以下是一个函数的简单定义。

func speak(name string) string {
    return name;
}

结构体

下面是一个结构体的示例

type Man struct {
    // 内部可见
    age uint8
    // 公开可见
    Name string
}

Go 里面的结构体,可以看成是其他编程域名中的类,但是它只有属性,没有方法。

接口

java 的接口一样,都是抽象方法的集合

type HumanBehavior interface {
    Speak() string
}

方法

func (this *Man) Speak() string {
    return this.name
}

(this *Man) 是要绑定的结构体,这里传入指针类型,可以修改变量自身内容。

receiver 是 pointer or value。

正常都是需要设置receiver为指针类型,这样才符合我们面向对象编程的习惯和用法。

面向对象

介绍完上面的内容,下面我们说明下 Go 语言中的面向对象是怎样的

封装

大写开头的属性和方法可以被包外部访问,小写则不能被访问

继承

继承结构体中的属性和方法

重写/重载

可以重写,但不能重载

多态

不同的实例,执行同一个方法,会有不同的表现。

实现多态的条件是:

  • 继承
  • 重写

参考文档


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

软件开发者路线图

软件开发者路线图

Dave H. Hoover、Adewale Oshineye / 王江平 / 机械工业出版社 / 2010年9月 / 35.00元

作为一名软件开发者,你在奋力推进自己的职业生涯吗?面对今天日新月异和不断拓展的技术,取得成功需要的不仅仅是技术专长。为了增强专业性,你还需要一些软技能以及高效的学习技能。本书的全部内容都是关于如何修炼这些技能的。两位作者Dave Hoover和Adewale Oshineye给出了数十种行为模式,来帮你提高主要的技能。 本书中的模式凝结了多年的调查研究、无数次的访谈以及来自O’Reilly在......一起来看看 《软件开发者路线图》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器