成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

我被迫選擇了Go語言,但是現(xiàn)在發(fā)現(xiàn)它真的“很香”

開發(fā) 后端
接觸Go語言是實(shí)際需求所致,但通過使用它,我發(fā)現(xiàn)它真的“很香”,如果你想打造自己的高并發(fā)系統(tǒng),或者想讓自己目前的系統(tǒng)并發(fā)性能提升一個(gè)數(shù)量級,Go語言是你最好的選擇。從現(xiàn)在起,不妨學(xué)習(xí)它并使用它,你也會(huì)覺得它”很香”。

2018年6月我從工作了5年的公司離職了,離職的原因很簡單:想出去看一看,看外面的公司都在做什么業(yè)務(wù)?使用什么技術(shù)?

在離職的前一周,我拿到了華為、聯(lián)通和我現(xiàn)在所在公司的offer,之所以沒去華為和聯(lián)通是因?yàn)樗鼈兌疾皇腔ヂ?lián)網(wǎng)公司,我喜歡的是互聯(lián)網(wǎng)公司那種開放的氛圍,這種開放的技術(shù)氛圍更能讓人獲得更快的成長,接觸到最前沿的技術(shù)。而我最終選擇的公司就是這樣的一家公司,技術(shù)氛圍好、業(yè)務(wù)模式新穎。

 

[[316669]]

進(jìn)入這家互聯(lián)網(wǎng)公司以后,開始我接觸的當(dāng)然是Java的一個(gè)項(xiàng)目,而且是一個(gè)只有需求還沒有代碼的新項(xiàng)目。從需求分析到架構(gòu)設(shè)計(jì)、模型設(shè)計(jì)、代碼編寫都基本是我一個(gè)人完成。差不多2個(gè)月的時(shí)間這個(gè)Java的項(xiàng)目就開發(fā)完成并上線,后續(xù)的工作就是一些簡單的維護(hù)和一些新的需求以及一些功能的調(diào)整。

進(jìn)入公司三個(gè)月的時(shí)候,我的Team Leader扔給我一個(gè)Go語言項(xiàng)目,當(dāng)然這個(gè)項(xiàng)目我之前已經(jīng)看到過,但是當(dāng)時(shí)我并不懂Go語言,所以Team Leader并沒讓我做相關(guān)的開發(fā)工作?,F(xiàn)在因?yàn)槿藛T的變動(dòng)我必須要接手這個(gè)項(xiàng)目,所以我開始學(xué)習(xí)Go語言,也同時(shí)開啟了我的第二計(jì)算機(jī)語言之路。

 

我被迫選擇了Go語言,但是現(xiàn)在發(fā)現(xiàn)它真的“很香”

初次接觸Go語言的時(shí)候,我并沒有一開始就去找相關(guān)的資料去學(xué)習(xí),而是開始看TL給我的這個(gè)Go項(xiàng)目,讓他給我講解了這個(gè)項(xiàng)目的主要業(yè)務(wù)邏輯,包括入口類方法、調(diào)用鏈,弄清楚這些我就開始看這個(gè)項(xiàng)目。其實(shí)如果接觸過其它計(jì)算機(jī)語言的話,閱讀Go項(xiàng)目一點(diǎn)問題都沒有。即使Go中的數(shù)據(jù)類型、方法入?yún)ⅰ⒎祷刂档膶懛ǜ覀円酝恼Z言不一樣,但并不妨礙你理解這門語言的特性。尤其是接觸過JavaScript語言的開發(fā)人員來說,更容易接受Go語言,因?yàn)樗姆椒ê蛥?shù)定義和JavaScript對于方法和參數(shù)的定義很像。例如:都是通過var來定義參數(shù),方法都是以function定義,當(dāng)然JavaScript是一門弱類型的語言,它沒有像Go語言的int、int32、int64、string等強(qiáng)類型語言具有的數(shù)據(jù)類型,但是他們的某些關(guān)鍵字和寫法與Go語言很相像,熟悉JavaScript的開發(fā)者天然的對Go語言有好感。

 

[[316670]]

我用兩天的時(shí)間熟悉完了這個(gè)Go項(xiàng)目,在熟悉項(xiàng)目的過程中我當(dāng)然也對它的語法有了一定的了解。然后我就開始接受TL給我的新需求并開始編碼工作。我“照貓畫虎”式的完成了一個(gè)個(gè)的新需求,在編寫代碼的時(shí)候,我會(huì)去查資料,例如:Go中的strconv中的各種方法,凡是你在Java中關(guān)于String操作的方法都能在Go語言找到,如果找不到,那就再找一遍,如果還是找不到,那就自己實(shí)現(xiàn)一個(gè)。通過一邊編寫Go語言代碼一邊查相關(guān)資料,我很快對這門語言了解的更深入了,我知道它天生就是為分布式高并發(fā)系統(tǒng)設(shè)計(jì)的語言。同樣的服務(wù)器配置,Go語言能輕松實(shí)現(xiàn)4000QPS的業(yè)務(wù)邏輯,但是用Java就不太容易,需要做各種性能用戶,這都得益于Go語言的協(xié)程設(shè)計(jì)。

協(xié)程不同于線程,協(xié)程是語言本身的機(jī)制,靠語言自身的機(jī)制去做多任務(wù)的調(diào)度,而線程并不是語言的特性,它需要靠容器來調(diào)度。例如我們常見的Java中的多線程,Java中的多線程是要靠tomcat、jetty等web容器去調(diào)度,所以多線程的性能取決于容器的調(diào)度性能。而容器的調(diào)度性能我們開發(fā)者很難去優(yōu)化,就如一臺(tái)4G8G的服務(wù)器,tomcat跑3000的QPS都很吃力(不是簡單的輸出hello word),而同等配置下,Go語言跑5000的QPS都不費(fèi)力!

 

[[316671]]

當(dāng)然Go語言有它自身的局限性,一個(gè)重要的局限性就是弱事務(wù)。我們都知道Java中的Spring框架為我們提供了事務(wù)性,我們可以保證我們一次請求的多個(gè)操作要么全部失敗,然后回滾,要么全部成功,它具有很強(qiáng)的事務(wù)性,所以我們可以用Java語言來編寫銀行、支付等系統(tǒng)。但是Go語言并不嚴(yán)格強(qiáng)調(diào)事務(wù)性,強(qiáng)事務(wù)必然會(huì)帶來并發(fā)性能的損失。所以,如果你的系統(tǒng)可以接受一定程度的數(shù)據(jù)不一致性,那就可以選擇Go語言,當(dāng)然這不是絕對的,因?yàn)槲覀円部梢酝ㄟ^MQ等措施來解決數(shù)據(jù)的不一致性,那么GO語言的使用場景都大很多了。

學(xué)習(xí)一門編程語言最好的方式絕對不是一開始就去讀它的相關(guān)技術(shù)文檔,如果有機(jī)會(huì)我們能參與到實(shí)際的項(xiàng)目開發(fā)中,那我們應(yīng)該積極的參與其中。通過在實(shí)際業(yè)務(wù)場景對該計(jì)算機(jī)語言的使用,我們可以快速的掌握這門語言的特性,這種學(xué)習(xí)方式是最快最有成效的一種學(xué)習(xí)方式。只有真正使用過它,你才能真正了解它,“紙上談兵”永遠(yuǎn)不可能打敗真正的敵人。

 

我被迫選擇了Go語言,但是現(xiàn)在發(fā)現(xiàn)它真的“很香”

接觸Go語言是實(shí)際需求所致,但通過使用它,我發(fā)現(xiàn)它真的“很香”,如果你想打造自己的高并發(fā)系統(tǒng),或者想讓自己目前的系統(tǒng)并發(fā)性能提升一個(gè)數(shù)量級,Go語言是你最好的選擇。從現(xiàn)在起,不妨學(xué)習(xí)它并使用它,你也會(huì)覺得它”很香”。

責(zé)任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2017-12-28 10:44:08

JavaScript瀏覽器網(wǎng)頁

2016-09-27 21:25:08

Go語言Ken Thompso

2021-03-01 21:59:25

編程語言GoCX

2021-03-01 18:35:18

Go語言虛擬機(jī)

2019-04-02 15:00:53

2025-05-19 10:04:48

2023-02-22 15:08:21

2017-01-19 11:16:29

開放網(wǎng)絡(luò)交換機(jī)數(shù)據(jù)中心

2020-11-09 09:28:49

WiFi 7WIFI6網(wǎng)絡(luò)

2022-09-19 00:29:01

編程語言Go 語言功能

2015-04-20 17:32:16

鈦媒體

2024-05-20 08:25:55

2019-02-12 15:24:50

C語言JavaPython

2023-02-27 08:25:46

ChatGPTJDGoogle

2021-11-09 09:19:13

PHP網(wǎng)站代碼

2020-03-22 10:59:29

5G物聯(lián)網(wǎng)IOT

2023-10-31 08:01:48

Mybatis參數(shù)jdbcurl?

2018-11-22 15:07:17

代碼github程序

2021-03-28 20:58:25

Go語言線程

2020-12-07 08:16:39

自然語言查詢數(shù)據(jù)庫數(shù)據(jù)庫查詢
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 午夜羞羞 | 欧美日韩专区 | 在线观看精品视频网站 | 欧美日韩亚洲一区 | 国产欧美久久精品 | h在线免费观看 | 国产一区免费 | 成年网站在线观看 | 欧美日韩久久久久 | 嫩草视频在线看 | 91av视频 | 91热在线| 九九亚洲精品 | 91免费福利在线 | 国产综合久久 | 国产激情91久久精品导航 | 超碰在线影院 | 久久五月婷 | 国产精品久久久久婷婷二区次 | 羞羞视频在线观免费观看 | 亚洲成人二区 | 国产9久| 黄色网址在线免费观看 | 国产亚洲成av人片在线观看桃 | 久久精品视频网站 | 国产成人精品一区二区三区在线 | 毛片久久久| 免费看国产片在线观看 | 中文字幕第二区 | 精品视频网 | 一区免费看| 欧美精品一区在线 | www.黄色片视频 | 精品久久久久久久久久 | 精品视频在线观看 | 97影院在线午夜 | 黄在线| 亚洲精品欧美 | 日韩国产专区 | 精品在线一区二区 | 久久亚|