Go 语言理解

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

内容简介:面向对象,是软件工程中的重要思想。我们入手一门新的编程语言,需要先了解它的基本语法,然后就是如何面向对象编程。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 语言中的面向对象是怎样的

封装

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

继承

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

重写/重载

可以重写,但不能重载

多态

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

实现多态的条件是:

  • 继承
  • 重写

参考文档


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

查看所有标签

猜你喜欢:

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

HTML5

HTML5

Matthew David / Focal Press / 2010-07-29 / USD 39.95

Implement the powerful new multimedia and interactive capabilities offered by HTML5, including style control tools, illustration tools, video, audio, and rich media solutions. Understand how HTML5 is ......一起来看看 《HTML5》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具