對(duì)Golang的一些看法

我斷斷續(xù)續(xù)的,無(wú)聊的時(shí)候會(huì)看一些Golang 的書(shū),也會(huì)用它做一些小的Demo,我甚至還想去做一份Golang 的工作。

它的優(yōu)點(diǎn)大家都知道,就是并發(fā)。Medium搜一下go會(huì)有一篇關(guān)于如何用go實(shí)現(xiàn)百萬(wàn)級(jí)的并發(fā)的文章,代碼精髓又簡(jiǎn)單。

但是我想說(shuō)說(shuō)它的一些讓人不爽的地方。

Swift有一個(gè)很重的概念就是面向協(xié)議,可以去看看各大Swift 的庫(kù),都很注重面向協(xié)議這個(gè)概念。Golang也是如此,只是說(shuō)法是面向接口(interface).

但是Golang的面向接口不需要聲明接口,這個(gè)真的很操蛋的。如果你去看代碼,如果有用接口作為參數(shù)的話你就慘了。你根本不知道哪些Struct實(shí)現(xiàn)了那個(gè)接口。所以寫(xiě)Go的時(shí)候如果你不把那個(gè)接口和實(shí)現(xiàn)接口的Struct寫(xiě)在一起那簡(jiǎn)直就是災(zāi)難,對(duì)于那些習(xí)慣細(xì)致的讀代碼的人來(lái)說(shuō)真的很痛苦,比如說(shuō)我。不需要申明接口的另一個(gè)糟糕的地方就是你可能在寫(xiě)代碼的時(shí)候,碰巧就實(shí)現(xiàn)了一個(gè)接口,如果那個(gè)Struct命名和你想用來(lái)實(shí)現(xiàn)接口的Struct的命名很像的話,很可能就被寫(xiě)成參數(shù),后果就是一個(gè)Crash。

Golang 的面向接口是如此的粗糙與敷衍,Swift完全不會(huì)有這個(gè)問(wèn)題。

Golang 沒(méi)有實(shí)現(xiàn)泛型,所以寫(xiě)起代碼來(lái)會(huì)束手束腳,這要我想起了被OC支配的恐懼。你可能需要寫(xiě)更多無(wú)聊的代碼來(lái)實(shí)現(xiàn)一個(gè)功能。

Golang的一個(gè)方法返回值可以直接用在方法里面,不需要額外的聲明。這樣看似好酷的感覺(jué),其實(shí)傻逼至極,你在寫(xiě)代碼的時(shí)候會(huì)感到一種混淆的感覺(jué),私以為老老實(shí)實(shí)的申明返回值然后再return會(huì)更友好。

Golang申明參數(shù)有一種方式。比如

x, y, z int

哇,這種申明方式真的很傻逼的,你會(huì)發(fā)線其它的語(yǔ)言也可以這樣,這似乎就是一個(gè)一直沿用至今的錯(cuò)誤(我個(gè)人認(rèn)為)。Golang 發(fā)揚(yáng)了這個(gè)錯(cuò)誤,可以這樣子寫(xiě)在方法的參數(shù)里面。這樣子你會(huì)覺(jué)得x的類型是y,然后出現(xiàn)一個(gè)z,最后才發(fā)現(xiàn)都是int,會(huì)有一種被調(diào)戲的感覺(jué)。所以我一直覺(jué)得這種設(shè)計(jì)方式就是一個(gè)錯(cuò)誤,因?yàn)槿祟惗枷矚g直觀,簡(jiǎn)單,程序員也是如此。

Golang的Array和Map也是十分的古怪,讀起來(lái)十分的不友好,不像Swift來(lái)的直觀。尤其是Map里面是一個(gè)復(fù)雜的類型,那會(huì)是一個(gè)災(zāi)難。不一直長(zhǎng)期的寫(xiě)的話,你會(huì)很不習(xí)慣它。

所以Golang真的只是一個(gè)實(shí)現(xiàn)工程的語(yǔ)言,比起和它出生差不多的Swift而言。它省了一些不該省的,創(chuàng)新了一些垃圾的語(yǔ)法。當(dāng)Swift 加入了并發(fā)的語(yǔ)法更加的成熟之后,我不認(rèn)為golang還會(huì)有現(xiàn)在的市場(chǎng)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,688評(píng)論 4 61
  • 第十六章 美妙的告白 斗羅大陸四:終極斗羅(15) 陸雪清追了上去,打算問(wèn)葉琴剛才為什么要那樣...
    西皇閱讀 89,217評(píng)論 7 15
  • 上午睡到八點(diǎn)半,慢悠悠的起床,感覺(jué)無(wú)所事事,臉也沒(méi)洗,牙也沒(méi)刷,定好了中午的外賣(mài),接著就是發(fā)呆的時(shí)候,打開(kāi)手機(jī)卻發(fā)...
    可惡的王阿狗閱讀 254評(píng)論 1 0
  • 先判斷幾個(gè)Lambda的是否有效:1). () -> {}2). () -> "red"3). () -> {re...
    墻角的牽牛花閱讀 789評(píng)論 0 1
  • 在外旅游總是會(huì)有很多意想不到。比如算著差不多花期想去看普羅旺斯的薰衣草,不過(guò)到了之后被全部收割完畢了。 其實(shí)很正常...
    小easy閱讀 399評(píng)論 0 0

友情鏈接更多精彩內(nèi)容