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

我被迫選擇了Go語言,但是現在發現它真的“很香”

開發 后端
接觸Go語言是實際需求所致,但通過使用它,我發現它真的“很香”,如果你想打造自己的高并發系統,或者想讓自己目前的系統并發性能提升一個數量級,Go語言是你最好的選擇。從現在起,不妨學習它并使用它,你也會覺得它”很香”。

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

在離職的前一周,我拿到了華為、聯通和我現在所在公司的offer,之所以沒去華為和聯通是因為它們都不是互聯網公司,我喜歡的是互聯網公司那種開放的氛圍,這種開放的技術氛圍更能讓人獲得更快的成長,接觸到最前沿的技術。而我最終選擇的公司就是這樣的一家公司,技術氛圍好、業務模式新穎。

 

[[316669]]

進入這家互聯網公司以后,開始我接觸的當然是Java的一個項目,而且是一個只有需求還沒有代碼的新項目。從需求分析到架構設計、模型設計、代碼編寫都基本是我一個人完成。差不多2個月的時間這個Java的項目就開發完成并上線,后續的工作就是一些簡單的維護和一些新的需求以及一些功能的調整。

進入公司三個月的時候,我的Team Leader扔給我一個Go語言項目,當然這個項目我之前已經看到過,但是當時我并不懂Go語言,所以Team Leader并沒讓我做相關的開發工作?,F在因為人員的變動我必須要接手這個項目,所以我開始學習Go語言,也同時開啟了我的第二計算機語言之路。

 

我被迫選擇了Go語言,但是現在發現它真的“很香”

初次接觸Go語言的時候,我并沒有一開始就去找相關的資料去學習,而是開始看TL給我的這個Go項目,讓他給我講解了這個項目的主要業務邏輯,包括入口類方法、調用鏈,弄清楚這些我就開始看這個項目。其實如果接觸過其它計算機語言的話,閱讀Go項目一點問題都沒有。即使Go中的數據類型、方法入參、返回值的寫法跟我們以往的語言不一樣,但并不妨礙你理解這門語言的特性。尤其是接觸過JavaScript語言的開發人員來說,更容易接受Go語言,因為它的方法和參數定義和JavaScript對于方法和參數的定義很像。例如:都是通過var來定義參數,方法都是以function定義,當然JavaScript是一門弱類型的語言,它沒有像Go語言的int、int32、int64、string等強類型語言具有的數據類型,但是他們的某些關鍵字和寫法與Go語言很相像,熟悉JavaScript的開發者天然的對Go語言有好感。

 

[[316670]]

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

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

 

[[316671]]

當然Go語言有它自身的局限性,一個重要的局限性就是弱事務。我們都知道Java中的Spring框架為我們提供了事務性,我們可以保證我們一次請求的多個操作要么全部失敗,然后回滾,要么全部成功,它具有很強的事務性,所以我們可以用Java語言來編寫銀行、支付等系統。但是Go語言并不嚴格強調事務性,強事務必然會帶來并發性能的損失。所以,如果你的系統可以接受一定程度的數據不一致性,那就可以選擇Go語言,當然這不是絕對的,因為我們也可以通過MQ等措施來解決數據的不一致性,那么GO語言的使用場景都大很多了。

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

 

我被迫選擇了Go語言,但是現在發現它真的“很香”

接觸Go語言是實際需求所致,但通過使用它,我發現它真的“很香”,如果你想打造自己的高并發系統,或者想讓自己目前的系統并發性能提升一個數量級,Go語言是你最好的選擇。從現在起,不妨學習它并使用它,你也會覺得它”很香”。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2017-12-28 10:44:08

JavaScript瀏覽器網頁

2016-09-27 21:25:08

Go語言Ken Thompso

2021-03-01 21:59:25

編程語言GoCX

2021-03-01 18:35:18

Go語言虛擬機

2019-04-02 15:00:53

2025-05-19 10:04:48

2023-02-22 15:08:21

2017-01-19 11:16:29

開放網絡交換機數據中心

2020-11-09 09:28:49

WiFi 7WIFI6網絡

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網站代碼

2020-03-22 10:59:29

5G物聯網IOT

2023-10-31 08:01:48

Mybatis參數jdbcurl?

2018-11-22 15:07:17

代碼github程序

2021-03-28 20:58:25

Go語言線程

2020-12-07 08:16:39

自然語言查詢數據庫數據庫查詢
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片毛片毛片毛片毛片 | 91精品在线播放 | 一级黄色片免费在线观看 | 日韩一区二区精品 | 日韩欧美一区在线 | 免费在线观看成人 | 伊人伊人网 | 一区二区三区在线看 | 亚洲精品电影网在线观看 | 日韩欧美在线视频 | 成人久久18免费网站 | 国产精品一区二区久久久久 | 在线午夜电影 | 国产91色在线 | 亚洲 | 黑人中文字幕一区二区三区 | 国产在线视频一区 | www.三级| www日本在线播放 | 亚洲综合色 | 久久福利电影 | 罗宾被扒开腿做同人网站 | 亚洲高清在线观看 | 91精品国模一区二区三区 | 日韩中文字幕在线播放 | 日韩超碰 | 国产国拍亚洲精品av | 国产伦一区二区三区久久 | 精品美女在线观看视频在线观看 | 日日噜噜噜夜夜爽爽狠狠视频, | 国产成人久久 | 国产午夜精品一区二区三区嫩草 | 成人免费在线播放 | 精品欧美一区二区三区久久久 | 99久久精品免费看国产免费软件 | 一区二区三区在线看 | aaa在线| 国产小视频在线 | 看片91 | 亚洲综合免费 | 亚洲成a | 日韩免费视频一区二区 |