国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Go語言基礎知識(一):基礎介紹

這篇具有很好參考價值的文章主要介紹了Go語言基礎知識(一):基礎介紹。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、簡介

Go 語言又稱 Golang,由 Google 公司于 2009 年發(fā)布,近幾年伴隨著云計算、微服務、分布式的發(fā)展而迅速崛起,躋身主流編程語言之列,和 Java 類似,它是一門靜態(tài)的、強類型的、編譯型編程語言,為并發(fā)而生,所以天生適用于并發(fā)編程(網絡編程)。

目前 Go 語言支持 Windows、Linux 等多個平臺,也可以直接在 Android 和 iOS 等移動端執(zhí)行,從業(yè)務角度來看,Go 語言在云計算、微服務、大數據、區(qū)塊鏈、物聯網、人工智能等領域都有廣泛的應用。所以當下學習正當時。

二、Go 語言的作者

Go語言基礎知識(一):基礎介紹,# Golang,golang,開發(fā)語言,后端

Go語言之父們(從左到右分別是Robert Griesemer、Rob Pike和Ken Thompson)

Ken Thompson C語言 Unix 和 Plan9 的創(chuàng)始人之一,20世紀70年代設計并實現了 Unix 操作系統(tǒng),還和 Rob Pike 設計了UTF-8編碼。

Rob Pike 不但設計了 UTF-8 編碼,還開發(fā)了分布式多用戶操作系統(tǒng) Plan9 Inferno 操作系統(tǒng)和 Limbo 編程語言。

Robert Griesemer 就職于 Google,負責 Chrome 瀏覽器中 Google V8 引擎的代碼。

那天下午,在谷歌山景城總部的那間辦公室里,羅伯·派克啟動了一個 C++ 工程的編譯構建。按照以往的經驗判斷,這次構建大約需要一個小時。利用這段時間,羅伯·派克和羅伯特·格瑞史莫、肯·湯普森坐在一處,交換了關于設計一門新編程語言的想法。

之所以有這種想法,是因為當時的谷歌內部主要使用 C++ 語言構建各種系統(tǒng),但 C++ 的巨大復雜性、編譯構建速度慢以及在編寫服務端程序時對并發(fā)支持的不足,讓三位大佬覺得十分不便,他們就想著設計一門新的語言。在他們的初步構想中,這門新語言應該是能夠給程序員帶來快樂、匹配未來硬件發(fā)展趨勢并適合用來開發(fā)谷歌內部大規(guī)模網絡服務程序的。

他們于2007年開始設計Go語言,于2009年正式對外發(fā)布。Go語言即具備python等動態(tài)語言的開發(fā)速度,又擁有C/C++等編譯型語言的性能與安全性。又被稱作21世紀的C語言,不但能夠訪問底層操作系統(tǒng)還提供了強大的網絡編程和并發(fā)編程,分布式編程。

在 Go 語言項目開源后,Go 語言也迎來了自己的“吉祥物”,是一只由羅伯·派克夫人芮妮·弗倫奇(Renee French)設計的地鼠,從此地鼠(gopher)也就成為了世界各地 Go 程序員的象征,Go 程序員也被昵稱為 Gopher 。
Go語言基礎知識(一):基礎介紹,# Golang,golang,開發(fā)語言,后端

三、Go語言特性

開放源代碼 Go本身就是用Go語言編寫的。

快速 天下武功唯快不破,選擇一門快速的語言例如C語言,卻難以開發(fā),編譯速度依賴性運行時錯誤都非常多,要么有些語言依賴關系太多,最重要的一個就是解釋器本身,例如Java語言需要虛擬機才能運行代碼,javascript和node.js維護起來就是噩夢了。尤其是遇到回調。Go語言一開始設計就考慮到快速編譯。他能像其他解釋性語言一樣,你不會注意他正在編譯。Go語言實現了開發(fā)效率與執(zhí)行效率的完美結合,讓你像寫Python(效率)代碼一樣編寫C語言(性能)代碼。
Go語言基礎知識(一):基礎介紹,# Golang,golang,開發(fā)語言,后端

安全 作為強類型靜態(tài)語言,并自帶垃圾回收機制所以也具有安全性。因為Go的語言設計擁有像C語言那樣操作指針,但是他通常不會像C語言那樣危險,因為他內存是由Go自身進行管理的。

代碼簡潔 Go語言不僅在編譯上快速,而且代碼簡潔明了,易于閱讀。

已編譯 不需要虛擬機支持,可直接編譯成機器代碼,編譯后的文件也不需要依賴其他包文件。

跨平臺 Go語言擁有的交叉編譯,可以輕松編譯到指定的平臺上運行:例如OS X、Linux、Windows、Arm或者其他平臺。

自動垃圾回收 程序在運行過程中的垃圾回收工作一般由Go運行時系統(tǒng)全權負責。不過,Go也允許我們對此項工作進行干預。

內置包 Go語言擁有幾乎所有你能用到的標準庫。例如http網絡協(xié)議包,json解析包,time時間包等等。這種碎片化的東西在一個系統(tǒng)中占用大部分時間。

完整的構建工具 Go語言出色的內置命令工具,它自帶了很多強大的命令和工具,通過它們,可以很輕松地完成Go程序的獲取、編譯、測試、安裝、運行、分析等一系列工作。例如自動設置代碼格式,檢查代碼存在的問題,go fmt命令每次保存后自動格式化代碼。

原生的并發(fā)編程 并發(fā)在Go語言中屬于一大亮點,并發(fā)的最小單元是協(xié)程,是一個微線程卻有別于線程。協(xié)程由Go語言自身創(chuàng)建,并且由Go語言自身的運行時runtime調度。在其他語言中需要通過線程來解決的問題。一臺電腦能夠開啟的線程數量是有限制的。在Go語言中可以很輕松開啟一個協(xié)程來處理,因為協(xié)程很微型,不會占用電腦資源。一臺電腦可以輕松開啟成千上萬個協(xié)程,在這個大數據的時代,能夠處理大流量的數據能力的語言,并且能夠簡單快速開放的語言,非Go語言莫屬了。

四、哪些公司在使用Go語言

Go社區(qū)中至少有100萬名Go程序員。越來越多的公司都擁抱Go語言,最著名的使用Go語言的公司Google,Docker,Dropbox,Heroku,Uber等。國內的比如滴滴,騰訊,阿里,京東商城,愛奇藝,小米,360,美團,驢媽媽旅游網,斗魚直播,探探 等等 都在使用Go語言。包括嗶哩嗶哩的后臺也從java轉向了Go 可見Go語言的受歡迎程度。你能想到的現代云計算基礎設施軟件的大部分流行和可靠的作品,都是用 Go 編寫的,比如:Docker、Kubernetes、Prometheus、Ethereum(以太坊)、Istio、CockroachDB、InfluxDB、Terraform、Etcd、Consul 等等。當然,這個列表還在持續(xù)增加,可見 Go 語言的影響力已經十分強大。

五、GO語言項目

docker:基于lxc的一個虛擬打包工具,能夠實現PAAS平臺的組建。

kubernetes :Kubernetes是Google開源的一個容器編排引擎,它支持自動化部署、大規(guī)模可伸縮、應用容器化管理。在生產環(huán)境中部署一個應用程序時,通常要部署該應用的多個實例以便對應用請求進行負載均衡

區(qū)塊鏈:BTCD 是用go語言實現的完整節(jié)點的比特幣實現

nsq:bitly開源的消息隊列系統(tǒng),性能非常高,目前他們每天處理數十億條的消息

packer:用來生成不同平臺的鏡像文件,例如VM、vbox、AWS等,作者是vagrant的作者

skynet:分布式調度框架

Doozer:分布式同步工具,類似ZooKeeper

Heka:mazila開源的日志處理系統(tǒng)

cbfs:couchbase開源的分布式文件系統(tǒng)

tsuru:開源的PAAS平臺,和SAE實現的功能一模一樣

groupcache:memcahe作者寫的用于Google下載系統(tǒng)的緩存系統(tǒng)

god:類似redis的緩存系統(tǒng),但是支持分布式和擴展性

gor:網絡流量抓包和重放工具文章來源地址http://www.zghlxwxcb.cn/news/detail-538337.html

到了這里,關于Go語言基礎知識(一):基礎介紹的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【GoLang】Go語言幾種標準庫介紹(三)

    【GoLang】Go語言幾種標準庫介紹(三)

    前言 上一篇,我們介紹了container、crypto、database三個庫,這篇我們繼續(xù)介紹剩下的庫 幾種庫 debug 庫 (各種調試文件格式訪問及調試功能) 在 Go 語言的標準庫中,并沒有一個名為 debug 的獨立庫。 然而,Go 提供了一系列的工具和包,用于調試和性能分析。 這些工具和包包括 d

    2024年02月03日
    瀏覽(37)
  • 【GoLang】Go語言幾種標準庫介紹(一)

    【GoLang】Go語言幾種標準庫介紹(一)

    前言 隨著計算機科學的迅猛發(fā)展,編程語言也在不斷涌現。 在這個多樣化的編程語言生態(tài)系統(tǒng)中,Go語言憑借其簡潔、高效、并發(fā)支持等特性逐漸嶄露頭角。 作為一門開源的靜態(tài)編程語言,Go語言自帶了豐富的標準庫,為開發(fā)者提供了強大的工具和功能。 本文將深入介紹G

    2024年02月04日
    瀏覽(47)
  • 【GoLang入門教程】Go語言幾種標準庫介紹(六)

    【GoLang入門教程】Go語言幾種標準庫介紹(六)

    前言 上一篇,我們介紹了image、IO、math三個庫,這篇我們繼續(xù)介紹剩下的庫 幾種庫 Net庫 (網絡庫,支持 Socket、HTTP、郵件、RPC、SMTP 等) 在 Go 語言的標準庫中, net 包提供了對網絡操作的支持,包括基本的網絡協(xié)議、Socket 編程、HTTP 客戶端和服務器等。 net 包包含多個子包,其

    2024年02月02日
    瀏覽(97)
  • 【GoLang入門教程】Go語言幾種標準庫介紹(五)

    【GoLang入門教程】Go語言幾種標準庫介紹(五)

    前言 上一篇,我們介紹了fmt、Go、html 三個庫,這篇我們繼續(xù)介紹剩下的庫 幾種庫 image庫 (常見圖形格式的訪問及生成) 在 Go 語言的標準庫中, image 包提供了對圖像的基本操作和處理功能。 這個包定義了 Image 接口和一些基本的圖像類型,同時也包含了一些實現了該接口的具

    2024年02月03日
    瀏覽(98)
  • 【GoLang入門教程】Go語言幾種標準庫介紹(八)

    【GoLang入門教程】Go語言幾種標準庫介紹(八)

    強烈推薦 前些天發(fā)現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到網站:人工智能 前言 上一篇,我們介紹了plugin、reflect、regexp三個庫,這篇我們繼續(xù)介紹剩下的庫 幾種庫 runtime庫 ( 運行時接口) 在 Go 語言的標準庫中, runtime 包

    2024年01月19日
    瀏覽(93)
  • 【GoLang入門教程】Go語言幾種標準庫介紹(七)

    【GoLang入門教程】Go語言幾種標準庫介紹(七)

    前言 上一篇,我們介紹了Net、OS、path三個庫,這篇我們繼續(xù)介紹剩下的庫 幾種庫 plugin庫 (Go 1.7 加入的插件系統(tǒng)。支持將代碼編譯為插件,按需加載) 在 Go 語言的標準庫中, plugin 包提供了對 Go 插件的支持。 插件是一種在運行時加載并與主程序交互的機制,允許程序在不重新

    2024年01月16日
    瀏覽(99)
  • 【GoLang入門教程】Go語言幾種標準庫介紹(四)

    【GoLang入門教程】Go語言幾種標準庫介紹(四)

    前言 上一篇,我們介紹了debug、encoding、flag三個庫,這篇我們繼續(xù)介紹剩下的庫 幾種庫 fmt庫 (格式化操作) 在 Go 語言的標準庫中, fmt 包提供了格式化輸入輸出的功能。 這個包包括了一系列函數,用于將數據格式化為字符串( fmt.Sprintf )、輸出到控制臺( fmt.Print 、 fmt.Pri

    2024年02月03日
    瀏覽(99)
  • 【Go語言】Golang保姆級入門教程 Go初學者介紹chapter1

    【Go語言】Golang保姆級入門教程 Go初學者介紹chapter1

    Golang的學習方向 區(qū)塊鏈研發(fā)工程師: 去中心化 虛擬貨幣 金融 Go服務器端、游戲軟件工程師 : C C++ 處理日志 數據打包 文件系統(tǒng) 數據處理 很厲害 處理大并發(fā) Golang分布式、云計算軟件工程師:盛大云 cdn 京東 消息推送 分布式文件系統(tǒng) 2、Golang的應用領域 區(qū)塊鏈應用:區(qū)塊鏈

    2024年02月15日
    瀏覽(128)
  • 【Golang】go編程語言適合哪些項目開發(fā)?

    【Golang】go編程語言適合哪些項目開發(fā)?

    前言 在當今數字化時代,軟件開發(fā)已成為各行各業(yè)的核心需求之一。 而選擇適合的編程語言對于項目的成功開發(fā)至關重要。 本文將重點探討Go編程語言適合哪些項目開發(fā),以幫助讀者在選擇合適的編程語言時做出明智的決策。 Go 編程語言適合哪些項目開發(fā)? Go是由Google開發(fā)

    2024年02月04日
    瀏覽(29)
  • 【Golang】VsCode下開發(fā)Go語言的環(huán)境配置(超詳細圖文詳解)

    【Golang】VsCode下開發(fā)Go語言的環(huán)境配置(超詳細圖文詳解)

    ??推薦網站(不斷完善中):個人博客 ??個人主頁:個人主頁 ??相關專欄:CSDN專欄、個人專欄 ??立志賺錢,干活想躺,瞎分享的摸魚工程師一枚 ? 話說在前,Go語言的編碼方式是 UTF-8 ,理論上你直接使用文本進行編輯也是可以的,當然為了提升我們的開發(fā)效率我們還是需

    2024年02月07日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包