<dd id="3pk9i"><optgroup id="3pk9i"><video id="3pk9i"></video></optgroup></dd>
<rp id="3pk9i"></rp>

<dd id="3pk9i"><track id="3pk9i"></track></dd>
      1. <th id="3pk9i"></th>
        1. <ol id="3pk9i"><ruby id="3pk9i"></ruby></ol>

        2. go語言可以寫物聯網嗎

          來源:php中文網 | 2022-12-28 16:54:51 |

          本教程操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

          如果你的預算比較少,可能你第一個要考慮用Golang。Golang的并發特性和出色的性能,可以充分的利用現有硬件,而不像Java、Python會造成一定的浪費,你需要花更多錢。


          (資料圖)

          在物聯網領域,用Golang可以高效的接入并管理數以百萬的設備。并使用Golang的各種前沿技術實時分析數據并創建數據報告。

          如下是我們選擇Golang開發ThingsPanel物聯網系統的原因:

          創始人

          Go的三個作者分別是: Rob Pike(羅伯.派克),Ken Thompson(肯.湯普森)和Robert Griesemer(羅伯特.格利茨默) 。

          Rob Pike:曾是貝爾實驗室(Bell Labs)的Unix團隊,和Plan 9操作系統計劃的成員。他與Thompson共事多年,并共創出廣泛使用的UTF-8 字元編碼。

          Ken Thompson:主要是B語言、C語言的作者、Unix之父。1983年圖靈獎(Turing Award)和1998年美國國家技術獎(National Medal of Technology)得主。他與Dennis Ritchie是Unix的原創者。Thompson也發明了后來衍生出C語言的B程序語言。

          Robert Griesemer:在開發Go之前是Google V8、Chubby和HotSpot JVM的主要貢獻者。

          性能僅次于C/C++

          GoLang是一種編譯語言,可以編譯為機器代碼,編譯后的二進制文件可以直接部署到目標機器而無需額外的依賴。性能優于那些解釋語言。

          下圖是一個測試,看起來Golang的速度還是很厲害的。

          常見語言的性能對比(圖片作者:我不想種地)

          如果還有更高的要求,還可以在Go程序中嵌入C代碼,以便可以使用許多功能強大的C工具庫。

          入門非???,大多程序員1-2周都可以上手。

          PHP程序員轉Golang,2天可以上手改bug。幾周后就能較為正常的開展工作。

          在各類技術人員溝通的時候,詢問他們,你多久會從PHP或者Java轉到Golang,回答大多是1-2周,事實也是如此。

          并發特性

          這可能是GoLang最受好評的特色。它可以充分利用多核功能。GoLang使用goroutine來實現并發性,它提供了一個非常優雅的goroutine調度程序系統,可以很容易地生成數百萬個goroutine。堆棧使用也可以動態擴展/收縮,這使內存使用更加智能。這與Java線程不同,后者通常只允許創建數千個線程。

          兼容大量的硬件設備。

          各種CPU架構都支持,不管是X86服務器,還是ARM邊緣設備,可以直接編譯成機器碼,部署扔上去一個文件就完成。

          一個52PHP用戶在他的cnblogs博客說:通過超級簡單的交叉編譯,僅需更改環境變量。(花了我兩天時間編譯一個imagemagick到arm平臺)。

          如果你有很多邊緣設備,Golang是一個好選擇。

          當然有些人說Java和PHP也可以啊,問題是騎著毛驢也可以去送外賣,問題是多慢??!

          良好的社區支持。

          沒有牛人布道,菜鳥就沒有師傅領進門。沒有分享,學習就難上加難。Golang有較好的社區支持。

          全球最大的技術問答網站Stack Overflow 上的編程語言受歡迎度:

          引用自:2021 編程語言排行榜,作者:小新帶你學編程

          你能查到資料,你提問題,有人給你回答,這個在開發中很重要。

          用干凈的代碼幫助開發人員加快速度。

          “干凈架構”是 Robert C. Martin (Uncle Bob)(About,Robert C·Martin Robert C·Martin的作品(16))在 2012 年總結現有的系統架構并提出的一個理念。

          在文中,他提出的干凈架構是這樣的:

          獨立于框架。該體系結構不依賴于某些功能豐富的軟件庫的存在。這允許您使用各種各樣的框架作為工具??蓽y試的。業務規則可以在沒有 UI、數據庫、Web 服務器或任何其他外部元素(如第三方RPC服務)的情況下進行測試。獨立于用戶界面。用戶界面可以很容易地更改,而不必更改系統的其他部分。例如,Web 用戶界面可以替換為控制臺界面,而不必更改業務規則。獨立于數據庫。您可以將 Oracle 或 SQL Server 換成 Mongo, BigTable, CouchDB 或其他東西。您的業務規則未綁定到數據庫。

          獨立于任何外部機構(下圖中的外層)。實際上,您的業務規則根本不了解外部世界。

          圖中的總體思想是依賴的方向只能是從外向內。也就是說,外部的圈依賴內部的圈,內部的圈不能依賴外部。外層中命名和數據格式不能影響內層。

          這些簡單的規則和約定保證了系統始終容易理解、容易開發、容易維護。

          案例就是說服力

          除了大名鼎鼎的Docker,完全用GO實現。業界最為火爆的容器編排管理系統kubernetes完全用GO實現。之后的Docker Swarm,完全用GO實現。除此之外,還有各種有名的項目,如etcd/consul/flannel,七牛云存儲等等 均使用GO實現。有人說,GO語言之所以出名,是趕上了云時代。但為什么不能換種說法?也是GO語言促使了云的發展。

          除了云項目外,還有像今日頭條、UBER這樣的公司,他們也使用GO語言對自己的業務進行了徹底的重構。

          以上就是go語言可以寫物聯網嗎的詳細內容,更多請關注php中文網其它相關文章!

          關鍵詞: go語言 Golang

          中文字幕在线观看2021
          <dd id="3pk9i"><optgroup id="3pk9i"><video id="3pk9i"></video></optgroup></dd>
          <rp id="3pk9i"></rp>

          <dd id="3pk9i"><track id="3pk9i"></track></dd>
            1. <th id="3pk9i"></th>
              1. <ol id="3pk9i"><ruby id="3pk9i"></ruby></ol>