interface

浅谈GO语言中interface

你离开我真会死。 提交于 2020-10-31 04:20:49
接触了go语言已经有几个月的时间了,虽然大部分的系统包还不是很熟练,但是对于go也算是有一定的了解。go语言在语言的层面上并没有非常亮眼的地方。在效率方面,go语言不及c/c++,在移植性上go语言不及java,在高并发方面erlang也能做的很好。所以go会给人有一种很全能的感觉,在各个方面都做了适当的取舍。在开发效率上go会比较快些。 go语言中,interface是重点。在面向对象设计中,有组合优于继承这句话。go语言放弃了继承,在组合方面表现的很好。首先来看看interface的用法。interface有两种用法: 1,空接口,用过C/C++的人看了空接口的定义第一时间想到的就是C/C++中的void*。 var Businesser interface{} var IntData int = 100 var StringData string = "i love hxc" Businesser = IntData var IntData2 int = Businesser.(int) fmt.Println(Businesser) // 100 fmt.Println(IntData2) //100 Businesser = StringData var StringData2 string = Businesser.(string) fmt.Println