go语言接口有什么用

685次阅读
没有评论
go 语言接口有什么用

其实刚看是看 go 语言的时候

觉得挺不习惯的

首先就是其他语言中的类

在 go 语言中变成了结构体

而类中的方法

也变成了写在结构外面的形式

后来看多了

其实也习惯了

报错 go 语言中的类型写在了变量的后面

java 看多了

就觉的 go 有些奇怪

其实都是那一套

至于为什么写的不一样

估计是故意写的吧

省的和其他语言长得太像,被人风言风语

而接口呢

应该也就是和 java 中的接口一模一样

为了实现多态

初看的时候不是很理解

后来看到了这个例子

package main

import "fmt"


type cat struct{}

type dog struct{}


func (c cat) say(){fmt.Println("喵喵喵")
}

func (d dog) say(){fmt.Println("汪汪汪")
}

type animals interface{say()
}

func hit(ani animals){ani.say()
}


func main(){c := cat{}
	d := dog{}

	c.say()
	d.say()

	hit(c)
	hit(d)

}

go 中因为是强数据类型的

传参的时候就不能那么随意了

必须函数里定义什么数据类型就传入什么数据类型

一旦想传入多个数据类型

多态就很有必要

总结:接口就是为了方便多态

总之,golang 也是一个面向对象的语言,封装、继承、多态,都是适用的。

正文完
 
评论(没有评论)
验证码