兄弟连区块链技术培训分享Go语言之面向对象总结

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

内容简介:互联网二十多年,已到十字路口。区块链出现前的互联网被称为古典互联网,而应用区块链技术的互联网才进入了后互联网时代。作为一项新兴的技术,区块链无疑正处于风口浪尖之上,其发展前景于普通大众而言也终将是利好。但目前由于区块链技术处于发展早期阶段,存在技术成熟度、落地应用场景有限等问题,兄弟连教育建议用户在选择专业type $name struct{property01 int

互联网二十多年,已到十字路口。区块链出现前的互联网被称为古典互联网,而应用区块链技术的互联网才进入了后互联网时代。作为一项新兴的技术,区块链无疑正处于风口浪尖之上,其发展前景于普通大众而言也终将是利好。但目前由于区块链技术处于发展早期阶段,存在技术成熟度、落地应用场景有限等问题,兄弟连教育建议用户在选择专业 Go语言 + 区块链培训 机构前应进行仔细考量与辨别。

type $name struct{

property01 int

property02 int

}

Golang里面的方法和接口都是基于这里type *** struct创建的类型,这里其实可以理解为:

class $name {

public int property01;

public int property02;

}

类型就是类。

所以我们说是类型的某个方法,类型实现了某个接口。

类型是属性的集合,接口是方法的集合

函数的定义:func       $funcName ( ) ( ){}

方法的定义:func  ( )  $funcName ( ) ( ){}

Func (成员变量 类型) funname(局部变量 类型,局部变量 类型) (返回值类型) {}

成员变量是通过type来定义的。

函数的参数列表是需要传递的局部变量。

golang的方法的类型签名:

1.指明要给哪个类型添加方法;

2.指定调用此方法的变量的是值类型还是指针类型,调用此方法的变量必须按照类型签名这里来决定是用值类型还是指针类型,golang能自动转换,但你必须确保这个变量能被正确转换为相应的值或指针。例如,一个接口类型的变量就没法被转换为一个struct的指针。

继承:

当一个类型B的某个字段(匿名字段)的类型是另一个类型 A的时候,那么类型 A所拥有的全部字段都被隐式地引入了当前定义的这个类型B。这样就实现了继承。B类型的变量就可以调用A的所有属性和方法。也就是说A继承了B。

定义继承时,子类中一般都含有一个类型是父类的匿名字段。匿名字段就是用来实现继承的。

package main

import (

"fmt"

)

type Animal struct {

Name string

Age  int

}

func (ani *Animal) GetAge() int {

return ani.Age

}

type Dog struct {

Animal //Animal匿名字段

}

func main() {

dog := Dog{Animal{"dog", 10}}

fmt.Println(dog.Age)

fmt.Println(dog.GetAge())

}

方法的重写

如果一个类型B实现了作为其属性的类型A中的方法。那么这个类型B的值调用方法的时候调用的是自己类型B的方法,而不是属性类型A的方法。

代码如下:

package main

import (

"fmt"

)

type Animal struct {

Name string

Age  int

}

func (ani *Animal) GetAge() int {

return ani.Age

}

type Dog struct {

Animal //Animal匿名字段

}

func (ani Dog) GetAge() int {

return ani.Age + 1

}

func main() {

dog := Dog{Animal{"dog", 10}}

fmt.Println(dog.Age)

fmt.Println(dog.GetAge())

}

接口

1 接口

1)定义接口类型

定义接口,接口中可以有未实现的方法。

type Animal interface {

GetAge() int

}

1)实现接口类型

如果某个类型实现了接口的所有方法。则这个类型实现了这个接口。

type Animal interface {

GetAge() int

}

type Dog struct {

Name string

Age  int

}

//实现GetAge()方法则实现了Animal接口

func (ani Dog) GetAge() int {

return ani.Age

}

高能预警,兄弟连教育区块链直播课程8月持续火爆来袭!

原价1188元的12节区块链进阶课程,现仅需1元!

还可免费领取《Go语言基础实战项目开发》与《Go语言高级实战项目开发》教材两本!!限时限量!!先到先得!!

http://www.ydma.cn/open/course/24

兄弟连区块链技术培训分享 <a href='https://www.codercto.com/topics/6127.html'>Go</a> 语言之面向对象总结

关注兄弟连区块链技术公众号领取更多技术干货哦!!! 

兄弟连区块链技术培训分享Go语言之面向对象总结

以上所述就是小编给大家介绍的《兄弟连区块链技术培训分享Go语言之面向对象总结》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

奥美的数字营销观点

奥美的数字营销观点

[美] 肯特·沃泰姆、[美] 伊恩·芬威克 / 台湾奥美互动营销公司 / 中信出版社 / 2009-6 / 45.00元

目前,媒体的数字化给营销人带来了重大影响。新媒体世界具有多重特性,它赋予企业大量机会,同时也带来挑战。营销人有了数量空前的方式来与消费者互动。然而,许多人面对变革的速度感到压力巨大,而且不知道该如何完全发挥这些新选择所带来的优势。 本书为读者提供了如何运用主要数字媒体渠道的方法;随附了领先的营销人如何在工作中有效运用这些渠道的最佳案例;提供了数字营销的十二个基本原则;协助数字营销人了解什么是......一起来看看 《奥美的数字营销观点》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

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

Markdown 在线编辑器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具