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

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

内容简介:互联网二十多年,已到十字路口。区块链出现前的互联网被称为古典互联网,而应用区块链技术的互联网才进入了后互联网时代。作为一项新兴的技术,区块链无疑正处于风口浪尖之上,其发展前景于普通大众而言也终将是利好。但目前由于区块链技术处于发展早期阶段,存在技术成熟度、落地应用场景有限等问题,兄弟连教育建议用户在选择专业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语言之面向对象总结》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

有趣的二进制

有趣的二进制

[ 日] 爱甲健二 / 周自恒 / 人民邮电出版社 / 2015-10 / 39.00元

《有趣的二进制:软件安全与逆向分析》通过逆向工程,揭开人们熟知的软件背后的机器语言的秘密,并教给读者读懂这些二进制代码的方法。理解了这些方法,技术人员就能有效地Debug,防止软件受到恶意攻击和反编译。本书涵盖的技术包括:汇编与反汇编、调试与反调试、缓冲区溢出攻击与底层安全、钩子与注入、Metasploit 等安全工具。 《有趣的二进制:软件安全与逆向分析》适合对计算机原理、底层或计算机安全......一起来看看 《有趣的二进制》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

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

在线XML、JSON转换工具

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

HEX CMYK 互转工具