肇慶go語言品牌 肇慶語音

粵語是方言嗎

問題一:粵語是方言吧 樓主 我可以說 粵語不是方言 普通話也不是粵語 俗稱廣東話,正式被聯(lián)合國定義為語言,并且認(rèn)定為日常生活中主要運用的五種語言之一 僅次于中國的官方語言普通話。所以說 粵語不是鳥語 粵語有約定俗成的公認(rèn)標(biāo)準(zhǔn)語,即粵語廣州話?;浾Z在香港、澳門享有官方語言地位。目前粵語已經(jīng)成為澳大利亞第四大語言,加拿大第三大語言,美國第三大語言。所以 我可以說 粵語幾乎與普通話有同等地位 只是中國推行普通話而已但希望樓主不想想歪 想到什么講粵語就不講普通話 這種思想 大家都是中國人 都有自己的母語

內(nèi)蒙古ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

問題二:粵語是什么地方語言? 廣東省――簡稱:粵,粵語――人人《誤以為廣東省只有一種方言粵語(廣州話)》,其實在廣東省內(nèi)還有很多地方語言(潮州話,廣州話,四邑話,客家話,等等)

問題三:粵語是方言嗎 粵語,英文為Cantonese,俗稱廣東話,正式被聯(lián)合國定義為語言,并且認(rèn)定為日常生活中主要運用的五種語言之一(Leading Languages in daily use) ,僅次于中國的官方語言普通話。

所以,粵語不是“鳥語”。每種語言都有其用法、發(fā)音上的特點。我們尊重國家有關(guān)推廣使用普通話的政策和要求,但是語言往往不是孤立地存在的,語言是文化的載體,有其超越一般溝通功能的意義,所以推廣普通話與保留、使用、保護(hù)方言并不矛盾。

《聯(lián)合國教科文組織世界文化多樣性宣言》里面提到:“捍衛(wèi)文化的多樣性與尊重人的尊嚴(yán)是密不可分的。每個人都有權(quán)利用自己選擇的語言,特別是用自己的母語表達(dá)思想,進(jìn)行創(chuàng)作和傳播自己的作品。”

現(xiàn)實當(dāng)中,在粵語的發(fā)源地,粵語的使用范圍卻有萎縮之勢,日常教學(xué)被強(qiáng)制要求必須使用官方語言,地方主要媒體在母語節(jié)目播出方面亦未有積極表現(xiàn),某些具有全國性影響力的場合,允許其他方言的出現(xiàn),卻始終未見粵語的身影,實在令人感到遺憾。

語言代碼

ISO 639-1: zh

ISO 639-2: chi (B) zho (T)

ISO/DIS 639-3: yue

通行區(qū)域

中國:主要在廣東大部分地區(qū)、廣西東南部、香港、澳門等地使用。

加拿大:使用人口排在英語、法語之后,為當(dāng)?shù)氐谌笳Z言。

美國:使用人口排在英語、西班牙語之后,為當(dāng)?shù)氐谌笳Z言。

澳大利亞:使用人口排在英語之后,為當(dāng)?shù)氐诙笳Z言。

東南亞:粵語在東南亞有廣泛的使用人群,在馬來西亞影響力非常強(qiáng)。

標(biāo)準(zhǔn)語及官方地位

粵語有約定俗成的公認(rèn)標(biāo)準(zhǔn)語,即粵語廣州話。粵語在香港、澳門享有官方語言地位。

無論如何,我們斷不會否認(rèn)這樣一種觀點:像捍衛(wèi)自己母親一樣捍衛(wèi)自己的母語。

所以,我O可以理直氣壯n保護(hù)我O母語,可以盡自己的每一分力量推廣粵語,將粵語,將南粵文化發(fā)揚光大!

問題四:廣東話怎么講 又想學(xué)粵語的親嗎,現(xiàn)在就來教教大家?;菊Z法

(qu)他或她(O仲系唔系人嘎?)

乜(mie)什么(你講乜啊?)

(ge)的(喱個系我女朋友.)

嬲(niao)生氣(我好嬲你!)

系(xi)是(你真系個好人嘞!)

(han)如此,這樣(疃嫉?)

O(die)相當(dāng)馀國語中的們字用法(O仲系唔系人嘎?)

唔(en)不是(O仲系唔系人嘎?)

睇(di)看(今晚我O睇電視羅!)

(di)的,那些(喱系乜嘎?)

(lin)陶醉(我好滸!)

(mao)沒有(我憂啦!)

(nie)想(督糌S啊?――再想什么?)

嘎(ga)語氣助詞(如系唔系嘎?)

咩(mie)什么(你講咩啊?)

(zhe)語氣助詞(系)

嗟(jue)語氣助詞

(li)來(過啦!)

叻(li)很棒(你好叻啊!)

喱(li)那(喱系乜嘎?)

咪(mi)不要(咪搞我!)

梗(geng)當(dāng)然(梗系啦!)

(bei)在(你氈瓢?)

m(bing)毆打(信唔信我柄你啊?)

啵(bo)語氣助詞(系啵!)

俾(bi)給(快俾錢!)

嘈(cao)吵(你O唔好鈸欣!)

q(xi)嘮叨(你唔好再q我啦!)

(ding)扔(垃圾唔好亂鳶!)

嘞(le)語氣助詞(你真系個好人嘞!)

靚(liang)漂亮或表示幼稚(你好靚女啊!)

(lo) 語氣助詞(就系)

h(wen)找(到工啦?)

[T] 浪費(真系鵪嘞……)

{或摞(luo)拿({錢去邊啊?)

咦[噫] (yi)語氣助詞(咦?你系邊個?)

(zuo)了(你食飯未啊?)

喔(wo)語氣助詞(系喔.)

疴(ke)拉(尿)(我去疴尿啊!)

拗(ao)矛盾(你O妻紙糌堪?)

p(na)雌性(乜p性嘎?)

撩(liao)挑(你唔好撩起我把火啊!)

拎(lin)拿(拎部電腦去整先.)

啖(dan)量詞,相當(dāng)于口(飲啖水先!)

s(qi)哄(s細(xì)路仔咩?)

呃(e)騙(我讀得書少,你唔好呃我!)

掂(dian)完結(jié)(我搞掂S啦!)

q(che)語氣助詞,表示鄙夷(q,又吹水!)

S(ye)東西(咩S嘎?)

b(fen)b覺(睡覺)

指代,人物

我(我) 你(你) (他) 我O(我們) 你O(你們) O(他們) 人O(人家) 呢度(這里) 穸(那里) 邊度(哪里) 呢(這) (那) 鈦(這樣,那樣) 點解(為什么) 第曰(改天) 第次(下次) 乜S(什么) 乜(什么) 幾多(多少) 邊(哪) 詈(這么好) 阿爸(爸爸) 阿媽(媽媽) 阿哥(哥哥) 阿嫂(嫂嫂) 阿爺(爺爺) 阿(奶奶) 阿公(外公) 阿婆(外婆,老婆婆) 阿叔(叔叔) 老豆(爸爸) 老媽子(媽媽) 家姐(姐姐) 大佬(哥哥) 細(xì)佬(弟弟) 心抱(媳婦) 舅父(舅舅) 孫(孫子) 仔仔(兒子) 女女(女兒) 契爺(干爹) 契仔(干兒子) 寡佬(單身漢) 仔(兒子) 女(女兒) 后底p(繼母) 太子爺(少東家) 契弟(王八蛋) 老坑(老頭) 老S(老東西,老家......

問題五:是嗎是廣東話怎么說 系咩?

樓上的不會廣東話的?。∥覀儚V東人不用“嗎”這個語氣助詞的??!

給你一個《粵語在線發(fā)聲字典》,打開網(wǎng)頁后,在左邊的工具蘭中,你可以輸入你要讀的單詞(繁體字),或者輸入對應(yīng)和音標(biāo),你自己找一下:

arts.cuhk.edu/Lexis/lexi-can/

給你一個《粵語學(xué)習(xí)網(wǎng)》

520hai.功om/jichu/

實用粵語300句MP3

520hai/sygzh

免費粵語學(xué)習(xí)軟件v1.1綠色版------鬧猴粵語發(fā)音入門軟件,具體下載地址,你在百度里再搜索,注意可能會有很多掛件或木馬。

鬧猴粵語發(fā)音入門軟件是一款粵語發(fā)音的小軟件。它可以將您輸入的文本內(nèi)容轉(zhuǎn)換成粵語的發(fā)音規(guī)范,并可以用粵語朗讀出來。軟件使用簡單,雖然不能對所有漢字都能用粵語朗讀,但不失為一個學(xué)粵語(廣東話)的好軟件! 其實,要學(xué)粵語不難,多聽一些粵語歌和多看一些粵語版的港產(chǎn)片就OK,要不然就到廣東去,呆它一兩年,俺就不信您學(xué)不會廣東話。軟件粵語發(fā)音不算很地道,但對初學(xué)者勉強(qiáng)足夠了 。

軟件使用:輸入文本文字 → 點“文本轉(zhuǎn)換” → 朗讀文本 ,也可以點右邊的單字單獨發(fā)音。

問題六:你是哪里人用廣東話怎么說? 你系邊度人

問題七:為什么粵語不是一種獨立的語言,而是一種漢語方言? 粵語是一種屬漢藏語系漢語族的聲調(diào)語言,是發(fā)源于北方的中原雅言(漢族母語)而于秦漢時期傳播至兩廣地區(qū)與當(dāng)?shù)毓旁秸Z相融合產(chǎn)生的一種語言,同時也是在香港、澳門占有主導(dǎo)地位的方言,民間稱白話或廣東話。中華民國成立時,雖然有揣北方白話取代文言文正式書寫的趨勢,但粵語的實際使用沒有多大限制,一度還有把粵語定為全國普通話的提議。

因為粵語也是用漢字作為書寫符號的,所以只作為漢語的一種方言存在。

問題八:大大,廣東話是什么意思? 廣儲話,簡稱粵語,當(dāng)?shù)厝朔Q白話,英文叫Cantonese

粵語是唯一一種發(fā)源于廣東地區(qū)的漢語方言,也是在廣東省占有主流地位的方言,故稱廣東話,2008年已被聯(lián)合國正式定義為語言。談到粵語的發(fā)源地,一般學(xué)數(shù)界的專家大多都認(rèn)為是發(fā)源于廣東省的封開縣(屬廣東省肇慶市所管轄的一個縣)。在學(xué)術(shù)上,廣東話不等同于廣東方言。廣東話指的是發(fā)源于廣東地區(qū)的語言,也就是粵語。

問題九:廣東話\粵語話:我們,我O? 我們粵語是發(fā)我O

但成句話在釋義上我們會文雅的,無乜大驚小怪

系粵語中發(fā)我們也不是錯誤的

問題十:廣東話“的”是什么意思 你朋友亂打的吧.廣東話沒這個字.

常見+少見的“廣東字”打法與讀法

耄dang,2/9)= 哄;例如:肽憧心=哄你開心

廿(nian,0/9)= 二十

卅(sa,0/6)= 三十

櫻mao,2/9)= 沒有;例如:有憂?=有沒有錢?

h酰gad zad ,0/1)= 蟑螂

叻(le,0/7)= 很棒;例如:成績好叻啵=他的成績很厲害呵

(gui,5/8)= 累

冢qu,3/8)= 他或她;例如:諳當(dāng)吒觶=他是誰?

呃(e,2/0)= 騙;例如:呃神騙鬼

m(bing,2/8)= 毆打;例如:我O去m果條友=我們?nèi)プ崮莻€家伙

拎(lin,0/9)= 提、 拿

拗(ao,0/1)= 矛盾

睿gan,3/4) = 如此、這樣;例如:畎。=這樣???

(zuo,2/2)= 了;例如:食飯未?=吃了飯沒有?

呢(ne,0/1)、哩(li,0/7)= 這;例如:呢事=這些事

p(na,0/3)= 雌S;例如:雞p=母雞

咦(yi,7/4)、噫 (yi,7/6)= 感嘆詞,?。ū砥婀郑?; 例:咦?

咯(lo,0/1)= 語氣助詞

咩(nie,0/3) = 什么;例如:有咩事?=有什么事?

咪(mi,1/7)= 不要; 例如:咪走~=不要走~

系(xi,7/9)= 是; 例如:系乜架?=是什么東西來的?

q(che,1/5)= 語氣助詞,表示鄙夷 =切

哽(geng,1/1)=當(dāng)然;例如:哽系=當(dāng)然是

唔(wu,3/9)= 不;例如:唔系=不是

俾(bi,3/5) = 給; 例如:你俾我啦~=你給我吧~

掂(dian,0/6)= 完結(jié)或狀態(tài)佳之意;例如:搞掂=辦妥

穡ding,2/5) = 扔

ǎze,2/2)= 語氣助詞;例如:唔系=不是的

(luo,3/4)= 語氣助詞/嗦

念(nian,1/7)= 想;例如:我念鈄鲞硨酶攏=我想這樣做不好吧?

啖(dan,2/7)= 口;例如:咬一啖=咬一口

啵(bo,3/2) = 語氣助詞

靚(liang,1/4)= 漂亮或表示幼稚; 例如: 靚仔=帥哥/小子

h(wen,2/0)= 找、掙;例如:h食=謀生

睇(di,3/2)= 看;例如:睇電視=看電視

嗟(jue,1/7)= 語氣助詞,感嘆聲; 例如:嗟~好吧斃咩?=切~很了不起么?

(ge,4/6)= 的;例如:你道服呢?=你的道服呢?

喔(wo,1/5)= 語氣助詞

穡sai,0/8)= 語氣助詞 浪費

瘢go,0/1)= 那;例如:=那些

嘞(le,0/9)= 語氣助詞

S(ge,4/7)= 東西;例如:有S睇=有東西看

嘈(ca*,0/6)= 吵;例如:嘈乜鬼=吵什么東西

嘎(ga,0/4)= 語氣助詞;例如:唔系罡~= 不是這樣的~

T(sai,0/9)= 浪費、錯過;例:詈機(jī)會T=這么好的機(jī)會錯過了

(zhe,2/7)= 語氣助詞;例如:我先至23=我才23呀~

(pie,0/9)= 閃,走人

撩(liao,0/3)......

駁狗屎文 "我為什么放棄Go語言

此篇文章流傳甚廣, 其實里面沒啥干貨, 而且里面很多觀點是有問題的. 這個文章在 golang-china 很早就討論過了.

最近因為 Rust 1.0 和 1.1 的發(fā)布, 導(dǎo)致這個文章又出來毒害讀者.

所以寫了這篇反駁文章, 指出其中的問題.

有好幾次,當(dāng)我想起來的時候,總是會問自己:我為什么要放棄Go語言?這個決定是正確的嗎?是明智和理性的嗎?其實我一直在認(rèn)真思考這個問題。

開門見山地說,我當(dāng)初放棄Go語言(golang),就是因為兩個“不爽”:第一,對Go語言本身不爽;第二,對Go語言社區(qū)里的某些人不爽。毫無疑問,這是非常主觀的結(jié)論。但是我有足夠詳實的客觀的論據(jù),用以支撐這個看似主觀的結(jié)論。

文末附有本文更新日志。

確實是非常主觀的結(jié)論, 因為里面有不少有問題的觀點(用來忽悠Go小白還行).

第0節(jié):我的Go語言經(jīng)歷

先說說我的經(jīng)歷吧,以避免被無緣無故地當(dāng)作Go語言的低級黑。

2009年底,Go語言(golang)第一個公開版本發(fā)布,籠罩著“Google公司制造”的光環(huán),吸引了許多慕名而來的嘗鮮者,我(Liigo)也身居其中,籠統(tǒng)的看了一些Go語言的資料,學(xué)習(xí)了基礎(chǔ)的教程,因?qū)ζ湔Z法中的分號和花括號不滿,很快就遺忘掉了,沒拿它當(dāng)一回事。

在2009年Go剛發(fā)布時, 確實是因為“Google公司制造”的光環(huán)而吸引了(包括文章作者和諸多IT記者)很多低級的嘗鮮者.

還好, 經(jīng)過5年的發(fā)展, 這些純粹因為光環(huán)來的投機(jī)者所剩已經(jīng)不多了(Google趨勢).

目前, 真正的Go用戶早就將Go用于實際的生產(chǎn)了.

說到 其語法中的分號和花括號不滿, 我想說這只是你的 個人主觀感受, 還有很多人對Go的分號和花括號很滿意,

包括水果公司的的 Swift 的語言設(shè)計者也很滿意這種風(fēng)格(Swift中的分號和花括號和Go基本相同).

如果只談 個人主觀感受, 我也可以說 Rust 的 fn 縮寫也很蛋疼!

兩年之后,2011年底,Go語言發(fā)布1.0的計劃被提上日程,相關(guān)的報道又多起來,我再次關(guān)注它,重新評估之后決定深入?yún)⑴cGo語言。我訂閱了其users、nuts、dev、commits等官方郵件組,堅持每天閱讀其中的電子郵件,以及開發(fā)者提交的每一次源代碼更新,給Go提交了許多改進(jìn)意見,甚至包括修改Go語言編譯器源代碼直接參與開發(fā)任務(wù)。如此持續(xù)了數(shù)月時間。

這個到是事實, 在 golang-china 有不少吵架的帖子, 感興趣的可以去挖下, 我就不展開說了.

到2012年初,Go 1.0發(fā)布,語言和標(biāo)準(zhǔn)庫都已經(jīng)基本定型,不可能再有大幅改進(jìn),我對Go語言未能在1.0定型之前更上一個臺階、實現(xiàn)自我突破,甚至帶著諸多明顯缺陷走向1.0,感到非常失望,因而逐漸疏遠(yuǎn)了它(所以Go 1.0之后的事情我很少關(guān)心)。后來看到即將發(fā)布的Go 1.1的Release Note,發(fā)現(xiàn)語言層面沒有太大改變,只是在庫和工具層面有所修補(bǔ)和改進(jìn),感到它尚在幼年就失去成長的動力,越發(fā)失望。外加Go語言社區(qū)里的某些人,其中也包括Google公司負(fù)責(zé)開發(fā)Go語言的某些人,其態(tài)度、言行,讓我極度厭惡,促使我決絕地離棄Go語言。

真的不清楚樓主說的可以在 Go1.0 之前短時間內(nèi)能實現(xiàn)的 重大改進(jìn)和諸多明顯缺陷 是什么.

如果是樓主說前面的 其語法中的分號和花括號不滿 之類的重大改進(jìn), 我只能說這只是你的 個人主觀感受 而已,

你的很多想法只能說服你自己, 沒辦法說服其他絕大部分人(不要以為像C++或Rust那樣什么特性都有就NB了, 各種NB特性加到一起只能是 要你命3000, 而絕對不會是什么 銀彈).

Go 1.1的Release Note,發(fā)現(xiàn)語言層面沒有太大改變. 語言層沒有改變是是因為 Go1 作出的向后兼容的承諾. 對于工業(yè)級的語言來說, Go1 這個只能是優(yōu)點. 如果連語言層在每個版本都會出現(xiàn)諸多大幅改進(jìn), 那誰還敢用Go語言來做生產(chǎn)開發(fā)呢(我承認(rèn)Rust的改動很大膽, 但也說明了Rust還處于比較幼稚和任性的階段)?

說 Go語言社區(qū)里的某些人固執(zhí) 的觀點我是同意的. 但是這些 固執(zhí) 的人是可以講道理的, 但是他們對很多東西的要求很高(特別是關(guān)于Go的設(shè)計哲學(xué)部分).

只要你給的建議有依據(jù)(語言的設(shè)計哲學(xué)是另外一回事情), 他們絕對不會盲目的拒絕(只是討論的周期會比較長).

關(guān)于樓主提交的給Go文件添加BOM的文章, 需要補(bǔ)充說明下.

在Go1.0發(fā)布的時候, Go語言的源文件(.go)明確要求必須是UTF8編碼的, 而且是無BOM的UTF8編碼的.

注意: 這個 無BOM的UTF8編碼 的限制僅僅是 針對 Go語言的源文件(.go).

這個限制并不是說不允許用戶處理帶BOM的UTF8的txt文件!

我覺得對于寫Go程序來說, 這個限制是沒有任何問題的, 到目前為止, 我還從來沒有使用過帶BOM的.go文件.

不僅是因為帶BOM的.go文件沒有太多的意義, 而且有很多的缺陷.

BOM的原意是用來表示編碼是大端還是小端的, 主要用于UTF16和UTF32. 對于 UTF8 來說, BOM 沒有任何存在的意義(正是Go的2個作者發(fā)明了UTF8, 徹底解決了全球的編碼問題).

但是, 在現(xiàn)實中, 因為MS的txt記事本, 對于中文環(huán)境會將txt(甚至是C/C++源文件)當(dāng)作GBK編碼(GBK是個爛編碼),

為了區(qū)別到底是GBK還是UTF8, MS的記事本在前面加了BOM這個垃圾(被GBK占了茅坑), 這里的bom已經(jīng)不是表示字節(jié)序本意了. 不知道有沒有人用ms的記事本寫網(wǎng)頁, 然后生成一個帶bom的utf8網(wǎng)頁肯定很有意思.

這是MS的記事本的BUG: 它不支持生成無BOM的UTF8編碼的文本文件!

這些是現(xiàn)實存在的帶BOM的UTF8編碼的文本文件, 但是它們肯定都不是Go語言源文件!

所以說, Go語言的源文件即使強(qiáng)制限制了無BOM的UTF8編碼要求, 也是沒有任何問題的(而且我還希望有這個限制).

雖然后來Go源文件接受帶BOM的UTF8了, 但是運行 go fmt 之后, 還是會刪除掉BOM的(因為BOM就是然并卵). 也就是說 帶 BOM 的 Go 源文件是不符合 Go語言的編碼風(fēng)格的, go fmt 會強(qiáng)制刪除 BOM 頭.

前面說了BOM是MS帶來的垃圾, 但是BOM的UTF8除了然并卵之外還有很多問題, 因為BOM在string的開頭嵌入了垃圾,

導(dǎo)致正則表達(dá)式, string的鏈接運算等操作都被會被BOM這個垃圾所污染. 對于.go語言, 即使代碼完全一樣, 有BOM和無BOM會導(dǎo)致文件的MD5之類的校驗碼不同.

所以, 我覺得Go用戶不用糾結(jié)BOM這個無關(guān)緊要的東西.

在上一個10年,我(Liigo)在我所屬的公司里,深度參與了兩個編程語言項目的開發(fā)。我想,對于如何判斷某個編程語言的優(yōu)劣,或者說至少對于如何判斷某個編程語言是否適合于我自己,我應(yīng)該還是有一點發(fā)言權(quán)的。

第1節(jié):我為什么對Go語言不爽?

Go語言有很多讓我不爽之處,這里列出我現(xiàn)在還能記起的其中一部分,排名基本上不分先后。讀者們耐心地看完之后,還能淡定地說一句“我不在乎”嗎?

1.1 不允許左花括號另起一行

關(guān)于對花括號的擺放,在C語言、C++、Java、C#等社區(qū)中,十余年來存在持續(xù)爭議,從未形成一致意見。在我看來,這本來就是主觀傾向很重的抉擇,不違反原則不涉及是非的情況下,不應(yīng)該搞一刀切,讓程序員或團(tuán)隊自己選擇就足夠了。編程語言本身強(qiáng)行限制,把自己的喜好強(qiáng)加給別人,得不償失。無論傾向于其中任意一種,必然得罪與其對立的一群人。雖然我現(xiàn)在已經(jīng)習(xí)慣了把左花括號放在行尾,但一想到被禁止其他選擇,就感到十分不爽。Go語言這這個問題上,沒有做到“團(tuán)結(jié)一切可以團(tuán)結(jié)的力量”不說,還有意給自己樹敵,太失敗了。

我覺得Go最偉大的發(fā)明是 go fmt, 從此Go用戶不會再有花括弧的位置這種無聊爭論了(當(dāng)然也少了不少灌水和上tiobe排名的機(jī)會).

是這優(yōu)點, Swift 語言也使用和 Go 類似的風(fēng)格(當(dāng)然樓主也可能鄙視swift的作者).

1.2 編譯器莫名其妙地給行尾加上分號

對Go語言本身而言,行尾的分號是可以省略的。但是在其編譯器(gc)的實現(xiàn)中,為了方便編譯器開發(fā)者,卻在詞法分析階段強(qiáng)行添加了行尾的分號,反過來又影響到語言規(guī)范,對“怎樣添加分號”做出特殊規(guī)定。這種變態(tài)做法前無古人。在左花括號被意外放到下一行行首的情況下,它自動在上一行行尾添加的分號,會導(dǎo)致莫名其妙的編譯錯誤(Go 1.0之前),連它自己都解釋不明白。如果實在處理不好分號,干脆不要省略分號得了;或者,Scala和JavaScript的編譯器是開源的,跟它們學(xué)學(xué)怎么處理省略行尾分號可以嗎?

又是樓主的 個人主觀感受, 不過我很喜歡這個特性. Swift 語言也是類似.

1.3 極度強(qiáng)調(diào)編譯速度,不惜放棄本應(yīng)提供的功能

程序員是人不是神,編碼過程中免不了因為大意或疏忽犯一些錯。其中有一些,是大家集體性的很容易就中招的錯誤(Go語言里的例子我暫時想不起來,C++里的例子有“基類析構(gòu)函數(shù)不是虛函數(shù)”)。這時候編譯器應(yīng)該站出來,多做一些檢查、約束、核對性工作,盡量阻止常規(guī)錯誤的發(fā)生,盡量不讓有潛在錯誤的代碼編譯通過,必要時給出一些警告或提示,讓程序員留意。編譯器不就是機(jī)器么,不就是應(yīng)該多做臟活累活雜活、減少人的心智負(fù)擔(dān)么?編譯器多做一項檢查,可能會避免數(shù)十萬程序員今后多年內(nèi)無數(shù)次犯同樣的錯誤,節(jié)省的時間不計其數(shù),這是功德無量的好事。但是Go編譯器的作者們可不這么想,他們不愿意自己多花幾個小時給編譯器增加新功能,覺得那是虧本,反而減慢了編譯速度。他們以影響編譯速度為由,拒絕了很多對編譯器改進(jìn)的要求。典型的因噎廢食。強(qiáng)調(diào)編譯速度固然值得贊賞,但如果因此放棄應(yīng)有的功能,我不贊成。

編譯速度是很重要的, 如果編譯速度夠慢, 語言再好也不會有人使用的.

比如C/C++的增量編譯/預(yù)編譯頭文件/并發(fā)編譯都是為了提高編譯速度.

Rust1.1 也號稱 比 1.0 的編譯時間減少了32% (注意: 不是運行速度).

當(dāng)然, Go剛面世的時候, 編譯速度是其中的一個設(shè)計目標(biāo).

不過我想樓主, 可能想說的是因為編譯器自己添加分號而導(dǎo)致的編譯錯誤的問題.

我覺得Go中 { 不能另起一行是語言特性, 如果修復(fù)這個就是引入了新的錯誤.

其他的我真想不起來還有哪些 調(diào)編譯速度,不惜放棄本應(yīng)提供的功能 (不要提泛型, 那是因為還沒有好的設(shè)計).

1.4 錯誤處理機(jī)制太原始

在Go語言中處理錯誤的基本模式是:函數(shù)通常返回多個值,其中最后一個值是error類型,用于表示錯誤類型極其描述;調(diào)用者每次調(diào)用完一個函數(shù),都需要檢查這個error并進(jìn)行相應(yīng)的錯誤處理:if err != nil { /*這種代碼寫多了不想吐么*/ }。此模式跟C語言那種很原始的錯誤處理相比如出一轍,并無實質(zhì)性改進(jìn)。實際應(yīng)用中很容易形成多層嵌套的if else語句,可以想一想這個編碼場景:先判斷文件是否存在,如果存在則打開文件,如果打開成功則讀取文件,如果讀取成功再寫入一段數(shù)據(jù),最后關(guān)閉文件,別忘了還要處理每一步驟中出現(xiàn)錯誤的情況,這代碼寫出來得有多變態(tài)、多丑陋?實踐中普遍的做法是,判斷操作出錯后提前return,以避免多層花括號嵌套,但這么做的后果是,許多錯誤處理代碼被放在前面突出的位置,常規(guī)的處理邏輯反而被掩埋到后面去了,代碼可讀性極差。而且,error對象的標(biāo)準(zhǔn)接口只能返回一個錯誤文本,有時候調(diào)用者為了區(qū)分不同的錯誤類型,甚至需要解析該文本。除此之外,你只能手工強(qiáng)制轉(zhuǎn)換error類型到特定子類型(靜態(tài)類型的優(yōu)勢沒了)。至于panic - recover機(jī)制,致命的缺陷是不能跨越庫的邊界使用,注定是一個半成品,最多只能在自己的pkg里面玩一玩。Java的異常處理雖然也有自身的問題(比如Checked Exceptions),但總體上還是比Go的錯誤處理高明很多。

話說, 軟件開發(fā)都發(fā)展了半個世紀(jì), 還是無實質(zhì)性改進(jìn). 不要以為弄一個異常的語法糖就是革命了.

我只能說錯誤和異常是2個不同的東西, 將所有錯誤當(dāng)作異常那是SB行為.

正因為有異常這個所謂的銀彈, 導(dǎo)致很多等著別人幫忙擦屁股的行為(注意 shit 函數(shù)拋出的絕對不會是一種類型的 shit, 而被其間接調(diào)用的各種 xxx_shit 也可能拋出各種類型的異常, 這就導(dǎo)致 catch 失控了):

int main() {

try {

shit();

} catch( /* 到底有幾千種 shit ? */) {

...

}

}

Go的建議是 panic - recover 不跨越邊界, 也就是要求正常的錯誤要由pkg的處理掉.

這是負(fù)責(zé)任的行為.

再說Go是面向并發(fā)的編程語言, 在海量的 goroutine 中使用 try/catch 是不是有一種不倫不類的感覺呢?

1.5 垃圾回收器(GC)不完善、有重大缺陷

在Go 1.0前夕,其垃圾回收器在32位環(huán)境下有內(nèi)存泄漏,一直拖著不肯改進(jìn),這且不說。Go語言垃圾回收器真正致命的缺陷是,會導(dǎo)致整個進(jìn)程不可預(yù)知的間歇性停頓。像某些大型后臺服務(wù)程序,如游戲服務(wù)器、APP容器等,由于占用內(nèi)存巨大,其內(nèi)存對象數(shù)量極多,GC完成一次回收周期,可能需要數(shù)秒甚至更長時間,這段時間內(nèi),整個服務(wù)進(jìn)程是阻塞的、停頓的,在外界看來就是服務(wù)中斷、無響應(yīng),再牛逼的并發(fā)機(jī)制到了這里統(tǒng)統(tǒng)失效。垃圾回收器定期啟動,每次啟動就導(dǎo)致短暫的服務(wù)中斷,這樣下去,還有人敢用嗎?這可是后臺服務(wù)器進(jìn)程,是Go語言的重點應(yīng)用領(lǐng)域。以上現(xiàn)象可不是我假設(shè)出來的,而是事實存在的現(xiàn)實問題,受其嚴(yán)重困擾的也不是一家兩家了(2013年底ECUG Con 2013,京東的劉奇提到了Go語言的GC、defer、標(biāo)準(zhǔn)庫實現(xiàn)是性能殺手,最大的痛苦是GC;美團(tuán)的沈鋒也提到Go語言的GC導(dǎo)致后臺服務(wù)間隔性停頓是最大的問題。更早的網(wǎng)絡(luò)游戲仙俠道開發(fā)團(tuán)隊也曾受Go垃圾回收的沉重打擊)。在實踐中,你必須努力減少進(jìn)程中的對象數(shù)量,以便把GC導(dǎo)致的間歇性停頓控制在可接受范圍內(nèi)。除此之外你別無選擇(難道你還想自己更換GC算法、甚至砍掉GC?那還是Go語言嗎?)。跳出圈外,我近期一直在思考,一定需要垃圾回收器嗎?沒有垃圾回收器就一定是歷史的倒退嗎?(可能會新寫一篇博客文章專題探討。)

這是說的是32位系統(tǒng), 這絕對不是Go語言的重點應(yīng)用領(lǐng)域!! 我可以說Go出生就是面向64位系統(tǒng)和多核心CPU環(huán)境設(shè)計的. (再說 Rust 目前好像還不支持 XP 吧, 這可不可以算是影響巨大?)

32位當(dāng)時是有問題, 但是對實際生產(chǎn)影響并不大(請問樓主還是在用32位系統(tǒng)嗎, 還只安裝4GB的內(nèi)存嗎). 如果是8位單片機(jī)環(huán)境, 建議就不要用Go語言了, 直接C語言好了.

而且這個問題早就不存在了(大家可以去看Go的發(fā)布日志).

Go的出生也就5年時間, GC的完善和改進(jìn)是一個持續(xù)的工作, 2015年8月將發(fā)布的 Go1.5將采用并行GC.

關(guān)于GC的被人詬病的地方是會導(dǎo)致卡頓, 但是我以為這個主要是因為GC的實現(xiàn)還不夠完美而導(dǎo)致的.

如果是完美的并發(fā)和增量的GC, 那應(yīng)該不會出現(xiàn)大的卡頓問題的.

當(dāng)然, 如果非要實時性, 那用C好了(實時并不表示性能高, 只是響應(yīng)時間可控).

對于Rust之類沒有GC的語言來說, 想很方便的開發(fā)并發(fā)的后臺程序那幾乎是不可能的.

不要總是吹Rust能代替底層/中層/上層的開發(fā), 我們要看有誰用Rust真的做了什么.

1.6 禁止未使用變量和多余import

Go編譯器不允許存在被未被使用的變量和多余的import,如果存在,必然導(dǎo)致編譯錯誤。但是現(xiàn)實情況是,在代碼編寫、重構(gòu)、調(diào)試過程中,例如,臨時性的注釋掉一行代碼,很容易就會導(dǎo)致同時出現(xiàn)未使用的變量和多余的import,直接編譯錯誤了,你必須相應(yīng)的把變量定義注釋掉,再翻頁回到文件首部把多余的import也注釋掉,……等事情辦完了,想把剛才注釋的代碼找回來,又要好幾個麻煩的步驟。還有一個讓人蛋疼的問題,編寫數(shù)據(jù)庫相關(guān)的代碼時,如果你import某數(shù)據(jù)庫驅(qū)動的pkg,它編譯給你報錯,說不需要import這個未被使用的pkg;但如果你聽信編譯器的話刪掉該import,編譯是通過了,運行時必然報錯,說找不到數(shù)據(jù)庫驅(qū)動;你看看程序員被折騰的兩邊不是人,最后不得不請出大神:import _。對待這種問題,一個比較好的解決方案是,視其為編譯警告而非編譯錯誤。但是Go語言開發(fā)者很固執(zhí),不容許這種折中方案。

這個問題我只能說樓主的吐槽真的是沒水平.

為何不使用的是錯誤而不是警告? 這是為了將低級的bug消滅在編譯階段(大家可以想下C/C++的那么多警告有什么卵用).

而且, import 即使沒有使用的話, 也是用副作用的, 因為 import 會導(dǎo)致 init 和全局變量的初始化.

如果某些代碼沒有使用, 為何要執(zhí)行 init 這些初始化呢?

如果是因為調(diào)試而添加的變量, 那么調(diào)試完刪除不是很正常的要求嗎?

如果是因為調(diào)試而要導(dǎo)入fmt或log之類的包, 刪除調(diào)試代碼后又導(dǎo)致 import 錯誤的花,

樓主難道不知道在一個獨立的文件包裝下類似的輔助調(diào)試的函數(shù)嗎?

import (

"fmt"

"log"

)

func logf(format string, a ...interface{}) {

file, line := callerFileLine()

fmt.Fprintf(os.Stderr, "%s:%d: ", file, line)

fmt.Fprintf(os.Stderr, format, a...)

}

func fatalf(format string, a ...interface{}) {

file, line := callerFileLine()

fmt.Fprintf(os.Stderr, "%s:%d: ", file, line)

fmt.Fprintf(os.Stderr, format, a...)

os.Exit(1)

}

import _ 是有明確行為的用法, 就是為了執(zhí)行包中的 init 等函數(shù)(可以做某些注冊操作).

將警告當(dāng)作錯誤是Go的一個哲學(xué), 當(dāng)然在樓主看來這是白癡做法.

1.7 創(chuàng)建對象的方式太多令人糾結(jié)

創(chuàng)建對象的方式,調(diào)用new函數(shù)、調(diào)用make函數(shù)、調(diào)用New方法、使用花括號語法直接初始化結(jié)構(gòu)體,你選哪一種?不好選擇,因為沒有一個固定的模式。從實踐中看,如果要創(chuàng)建一個語言內(nèi)置類型(如channel、map)的對象,通常用make函數(shù)創(chuàng)建;如果要創(chuàng)建標(biāo)準(zhǔn)庫或第三方庫定義的類型的對象,首先要去文檔里找一下有沒有New方法,如果有就最好調(diào)用New方法創(chuàng)建對象,如果沒有New方法,則退而求其次,用初始化結(jié)構(gòu)體的方式創(chuàng)建其對象。這個過程頗為周折,不像C++、Java、C#那樣直接new就行了。

C++的new是狗屎. new導(dǎo)致的問題是構(gòu)造函數(shù)和普通函數(shù)的行為不一致, 這個補(bǔ)丁特性真的沒啥優(yōu)越的.

我還是喜歡C語言的 fopen 和 malloc 之類構(gòu)造函數(shù), 構(gòu)造函數(shù)就是普通函數(shù), Go語言中也是這樣.

C++中, 除了構(gòu)造不兼容普通函數(shù), 析構(gòu)函數(shù)也是不兼容普通函數(shù). 這個而引入的坑有很多吧.

1.8 對象沒有構(gòu)造函數(shù)和析構(gòu)函數(shù)

沒有構(gòu)造函數(shù)還好說,畢竟還有自定義的New方法,大致也算是構(gòu)造函數(shù)了。沒有析構(gòu)函數(shù)就比較難受了,沒法實現(xiàn)RAII。額外的人工處理資源清理工作,無疑加重了程序員的心智負(fù)擔(dān)。沒人性啊,還嫌我們程序員加班還少嗎?C++里有析構(gòu)函數(shù),Java里雖然沒有析構(gòu)函數(shù)但是有人家finally語句啊,Go呢,什么都沒有。沒錯,你有個defer,可是那個defer問題更大,詳見下文吧。

defer 可以覆蓋析構(gòu)函數(shù)的行為, 當(dāng)然 defer 還有其他的任務(wù). Swift2.0 也引入了一個簡化版的 defer 特性.

1.9 defer語句的語義設(shè)定不甚合理

Go語言設(shè)計defer語句的出發(fā)點是好的,把釋放資源的“代碼”放在靠近創(chuàng)建資源的地方,但把釋放資源的“動作”推遲(defer)到函數(shù)返回前執(zhí)行。遺憾的是其執(zhí)行時機(jī)的設(shè)置似乎有些不甚合理。設(shè)想有一個需要長期運行的函數(shù),其中有無限循環(huán)語句,在循環(huán)體內(nèi)不斷的創(chuàng)建資源(或分配內(nèi)存),并用defer語句確保釋放。由于函數(shù)一直運行沒有返回,所有defer語句都得不到執(zhí)行,循環(huán)過程中創(chuàng)建的大量短暫性資源一直積累著,得不到回收。而且,系統(tǒng)為了存儲defer列表還要額外占用資源,也是持續(xù)增加的。這樣下去,過不了多久,整個系統(tǒng)就要因為資源耗盡而崩潰。像這類長期運行的函數(shù),http.ListenAndServe()就是典型的例子。在Go語言重點應(yīng)用領(lǐng)域,可以說幾乎每一個后臺服務(wù)程序都必然有這么一類函數(shù),往往還都是程序的核心部分。如果程序員不小心在這些函數(shù)中使用了defer語句,可以說后患無窮。如果語言設(shè)計者把defer的語義設(shè)定為在所屬代碼塊結(jié)束時(而非函數(shù)返回時)執(zhí)行,是不是更好一點呢?可是Go 1.0早已發(fā)布定型,為了保持向后兼容性,已經(jīng)不可能改變了。小心使用defer語句!一不小心就中招。

前面說到 defer 還有其他的任務(wù), 也就是 defer 中執(zhí)行的 recover 可以捕獲 panic 拋出的異常.

還有 defer 可以在 return 之后修改命名的返回值.

上面2個工作要求 defer 只能在函數(shù)退出時來執(zhí)行.

樓主說的 defer 是類似 Swift2.0 中 defer 的行為, 但是 Swift2.0 中 defer 是沒有前面2個特性的.

Go中的defer是以函數(shù)作用域作為觸發(fā)的條件的, 是會導(dǎo)致樓主說的在 for 中執(zhí)行的錯誤用法(哪個語言沒有坑呢?).

不過 for 中 局部 defer 也是有辦法的 (Go中的defer是以函數(shù)作用域):

for {

func(){

f, err := os.Open(...)

defer f.Close()

}()

}

在 for 中做一個閉包函數(shù)就可以了. 自己不會用不要怪別人沒告訴你.

1.10 許多語言內(nèi)置設(shè)施不支持用戶定義的類型

for in、make、range、channel、map等都僅支持語言內(nèi)置類型,不支持用戶定義的類型(?)。用戶定義的類型沒法支持for in循環(huán),用戶不能編寫像make、range那樣“參數(shù)類型和個數(shù)”甚至“返回值類型和個數(shù)”都可變的函數(shù),不能編寫像channel、map那樣類似泛型的數(shù)據(jù)類型。語言內(nèi)置的那些東西,處處充斥著斧鑿的痕跡。這體現(xiàn)了語言設(shè)計的局限性、封閉性、不完善,可擴(kuò)展性差,像是新手作品——且不論其設(shè)計者和實現(xiàn)者如何權(quán)威。延伸閱讀:Go語言是30年前的陳舊設(shè)計思想,用戶定義的東西幾乎都是二等公民(Tikhon Jelvis)。

說到底, 這個是因為對泛型支持的不完備導(dǎo)致的.

Go語言是沒啥NB的特性, 但是Go的特性和工具組合在一起就是好用.

這就是Go語言NB的地方.

1.11 沒有泛型支持,常見數(shù)據(jù)類型接口丑陋

沒有泛型的話,List、Set、Tree這些常見的基礎(chǔ)性數(shù)據(jù)類型的接口就只能很丑陋:放進(jìn)去的對象是一個具體的類型,取出來之后成了無類型的interface{}(可以視為所有類型的基礎(chǔ)類型),還得強(qiáng)制類型轉(zhuǎn)換之后才能繼續(xù)使用,令人無語。Go語言缺少min、max這類函數(shù),求數(shù)值絕對值的函數(shù)abs只接收/返回雙精度小數(shù)類型,排序接口只能借助sort.Interface無奈的回避了被比較對象的類型,等等等等,都是沒有泛型導(dǎo)致的結(jié)果。沒有泛型,接口很難優(yōu)雅起來。Go開發(fā)者沒有明確拒絕泛型,只是說還沒有找到很好的方法實現(xiàn)泛型(能不能學(xué)學(xué)已經(jīng)開源的語言呀)。現(xiàn)實是,Go 1.0已經(jīng)定型,泛型還沒有,那些丑陋的接口為了保持向后兼容必須長期存在著。

Go有自己的哲學(xué), 如果能有和目前哲學(xué)不沖突的泛型實現(xiàn), 他們是不會反對的.

如果只是簡單學(xué)學(xué)(或者叫抄襲)已經(jīng)開源的語言的語法, 那是C++的設(shè)計風(fēng)格(或者說C++從來都是這樣設(shè)計的, 有什么特性就抄什么), 導(dǎo)致了各種腦裂的編程風(fēng)格.

編譯時泛型和運行時泛型可能是無法完全兼容的, 看這個例子:

type AdderT interface {

Add(a, b T) T

}

sincego五金是什么品牌

這是圣高品牌。是一款建筑五金配件品牌,創(chuàng)建于2010年,隸屬于肇慶市高要區(qū)金利熙達(dá)五金制品廠,品牌旗下主要產(chǎn)品包括金屬建筑材料,金屬支架金表面技術(shù)處理,加工五金雜件、五金電器、門窗配件、家具五金配件、金屬彩石瓦、五金建材等,屬于行業(yè)中的中高端品牌,有一定知名度與市場認(rèn)知度。

力扣(LeetCode)70爬樓梯Go語言實現(xiàn)報錯為啥?

應(yīng)該是遞歸層次太多,導(dǎo)致溢出了,考慮這個轉(zhuǎn)變成循環(huán)吧,不然70級斐波那契遞歸層次太多了

文章題目:肇慶go語言品牌 肇慶語音
網(wǎng)頁URL:http://muchs.cn/article34/doscose.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、域名注冊網(wǎng)站導(dǎo)航、動態(tài)網(wǎng)站、軟件開發(fā)品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司