golang 內(nèi)嵌數(shù)組結(jié)構(gòu)體賦值 Golang真的好用嗎?
Golang真的好用嗎?最近剛剛寫(xiě)完go,有點(diǎn)上癮.自己一直是javaer,做這塊有10年了,下面說(shuō)說(shuō)個(gè)人對(duì)這三門(mén)語(yǔ)言的理解.go語(yǔ)言,幾個(gè)鮮明的特性, 垃圾回收 跨平臺(tái) 并發(fā)完美支持 編譯迅速.垃圾
Golang真的好用嗎?
最近剛剛寫(xiě)完go,有點(diǎn)上癮.自己一直是javaer,做這塊有10年了,下面說(shuō)說(shuō)個(gè)人對(duì)這三門(mén)語(yǔ)言的理解.go語(yǔ)言,幾個(gè)鮮明的特性, 垃圾回收 跨平臺(tái) 并發(fā)完美支持 編譯迅速.
- 垃圾回收就不說(shuō)了,java也有,這可以讓我們不用過(guò)度的關(guān)心內(nèi)存管理.
- 跨平臺(tái),java python 也有可以,但他們需要安裝對(duì)應(yīng)的支持庫(kù).java jre環(huán)境 python2 python3 環(huán)境. 而go編譯出來(lái)的包,直接可用.
- 并發(fā)支持,java 并發(fā)最小單元是線(xiàn)程,cpu切換是有代價(jià),數(shù)量控制不好,出問(wèn)題是頭疼的一個(gè)點(diǎn).go是多了一個(gè)協(xié)程的概念,是用戶(hù)級(jí)的線(xiàn)程.可以任意切換,cpu沒(méi)有什么代價(jià).可以很舒服的開(kāi)發(fā)高并發(fā)應(yīng)用.就這個(gè)特性我覺(jué)得后面很多服務(wù)器的程序會(huì)傾向于go.
- 編譯迅速,java也編譯也很快,但他是編譯器選擇性進(jìn)行編譯或進(jìn)行解釋執(zhí)行的,沒(méi)有可比性.python純解釋性語(yǔ)言.性能上解釋性語(yǔ)言是沒(méi)法跟編譯性語(yǔ)言相比的.go兼顧編譯性語(yǔ)言性能好的特點(diǎn),編譯比c c 快太多了.非常惹人喜愛(ài).
所以go優(yōu)點(diǎn)是很多,后面很多程序應(yīng)用都是會(huì)傾向于他,特別是他的協(xié)程概念,釋放了多核處理器的能力.未來(lái)我看好他的發(fā)展.當(dāng)然java有很完整的生態(tài),目前來(lái)說(shuō)構(gòu)建大型的復(fù)雜系統(tǒng)還是少不了他,大數(shù)據(jù)這塊很多框架都是基于Java.python呢,在爬蟲(chóng),機(jī)器學(xué)習(xí),ai領(lǐng)域有很多成熟的框架庫(kù),要是搞機(jī)器學(xué)習(xí),也還得學(xué)他.
Golang Struct轉(zhuǎn)json鍵,首字母如何小寫(xiě)?
這個(gè)結(jié)構(gòu)體中的Name和Source必須是大寫(xiě)的,否則轉(zhuǎn)換會(huì)失敗,可以在后面加上`json:"name"`,來(lái)定義json中對(duì)應(yīng)的鍵名
type shipObject struce{
Name string `json:"name"`
Source string `json:"source"`
}
這樣就可以啦