鍍金池/ 問答/GO  HTML/ golang的interface有什么用?

golang的interface有什么用?

我不用這個東西也能完成各種業(yè)務需求啊,要這有啥用?

回答
編輯回答
我不懂

golang的interface{}一個是可以代表設計模式中的接口,一個可以看做類似C中的void*。

2017年3月3日 19:32
編輯回答
無標題

不是說能完成各種業(yè)務,沒用到的語言的特性就沒用,反而該反思下,為什么自己沒用到這個重要特性。
拿最簡單常用的排序來說,沒interface{},對于不同類型的參數你要寫類似的代碼n次,跟C++模板的思想類似。

2017年6月17日 09:27
編輯回答
冷溫柔

大師用這個來實現類型OOP的開發(fā). 面向接口編程.

還有, Golang沒有范型啊, 兄弟.

有時候一個值不確定是數字還是字符串, json傳過來, 你解析一下, 沒有interface{}看你怎么辦?

你沒用到, 不代表別人沒用.

2018年5月2日 02:17
編輯回答
擱淺

強類型語言為了保持動態(tài)語言的優(yōu)勢添加的。類似于java中的Object,用處可大了。golang的面向對象設計就是基于interface{}的。如果你沒用到,那你應該是過程式編程

2017年2月25日 22:24
編輯回答
夢一場

這不是golang的問題,這是為什么要 面向接口編程的問題
建議看看設計模式

2017年1月9日 12:46
編輯回答
青黛色

需要明確interface和interface{}的區(qū)別,一個是go的語法機制用于數據抽象和解耦,一個是這個機制的具體實現。前者應該鼓勵使用,而后者應該謹慎使用。
大型項目或基礎項目的構建往往少不了用interface來實現數據抽象和接口。當然也要看具體需求,go不是強范式的,go/channel/interface/reflect這些特性也沒有說一定用,只要你覺得代碼架構能完美匹配需求就行。當然,也不是說你沒用到的東西就沒用,建議多看看不同類型的開源項目體會一下。
關于interface{},無論何時都應該謹慎使用,這個東西存在濫用風險,可維護性差。但本著go的實用主義哲學,如果能完美匹配需求,用用未嘗不可。

2017年7月15日 00:47