本文目錄一覽:
Go語言安裝與鏡像配置
安裝網址
國內鏡像
Go 1.13 及以上(推薦
打開你的終端並執行
macOS 或 Linux
或
如果是zsh
請這樣設置
Windows
打開PowerShell 並執行
或者
然後你就可以
為什麼要學習Golang?
Go語言其實是Golanguage的簡稱,Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發的一種靜態強類型、編譯並髮型語言。Go 語言語法與 C 相近,但功能上有:內存安全,GC(垃圾回收),結構形態及 CSP-style 並發計算。該語言的吉祥物為金花鼠(gordon),
金花鼠(gordon)
Go 語言特色——簡潔、快速、安全、並行、有趣、開源、內存管理、數組安全、編譯迅速
Go 語言用途:Go 語言被設計成一門應用於搭載 Web 服務器,存儲集群或類似用途的巨型中央服務器的系統編程語言。對於高性能分布式系統領域而言,Go 語言無疑比大多數其它語言有着更高的開發效率。它提供了海量並行的支持,這對於遊戲服務端的開發而言是再好不過了。
C/C++的問題:開發效率低,對開發者要求高;libc只向後兼容,運維難度偏大。
Lua/Python的問題:動態語言,缺少編譯過程,低級錯誤頻出;缺少有效的性能分析及調試工具。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的“智慧學習工場2020-學碩創新工作站 ”唯一獲準的“區塊鏈技術專業”試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、複合型人才培養體系。
Golang項目部署3,容器部署
容器部署即使用 docker 化部署 golang 應用程序,這是在雲服務時代最流行的部署方式,也是最推薦的部署方式。
跨平台交叉編譯是 golang 的特點之一,可以非常方便地編譯出我們需要的目標服務器平台的版本,而且是靜態編譯,非常容易地解決了運行依賴問題。
使用以下指令可以靜態編譯 Linux 平台 amd64 架構的可執行文件:
生成的 main 便是我們靜態編譯的,可部署於 Linux amd64 上的可執行文件。
我們需要將該可執行文件 main 編譯生成 docker 鏡像,以便於分發及部署。 Golang 的運行環境推薦使用 alpine 基礎系統鏡像,編譯出的容器鏡像約為 20MB 左右。
一個參考的 Dockerfile 文件如下:
其中,我們的基礎鏡像使用了 loads/alpine:3.8 ,中國國內的用戶推薦使用該基礎鏡像,基礎鏡像的 Dockerfile 地址: ,倉庫地址:
隨後使用 ” docker build -t main . ” 指令編譯生成名為 main 的 docker 鏡像。
需要注意的是,在某些項目的架構設計中, 靜態文件 和 配置文件 可能不會隨着鏡像進行編譯發布,而是分開進行管理和發布。
例如,使用 MVVM 模式的項目中(例如使用 vue 框架),往往是前後端非常獨立的,因此在鏡像中往往並不會包含 public 目錄。而使用了 配置管理中心 (例如使用 consul / etcd / zookeeper )的項目中,也往往並不需要 config 目錄。
因此對於以上示例的 Dockerfile 的使用,僅作參考,根據實際情況請進行必要的調整。
使用以下指令可直接運行剛才編譯成的鏡像:
容器的分發可以使用 docker 官方的平台: ,國內也可以考慮使用阿里云: 。
在企業級生產環境中, docker 容器往往需要結合 kubernetes 或者 docker swarm 容器編排工具一起使用。
容器編排涉及到的內容比較多,感興趣的同學可以參考以下資料:
Go語言能在中國這麼火是因為什麼?
go語言之所以能成為我國最火的語言,是因為編寫服務端高並發程序的優勢。我大中華區但凡pv,日活高點的網站,應用,誰沒點這個需求。這個領域中最優的幾個:golang,erlang,rust。日常生活中人類社交是當今社會上的必然性,人們也伴隨着科技時代的發展,智能電子產品的使用中也必然少不了語言輸入,文字的編輯,語言轉換的便利都均可來源於go語音輸入法。
國內大學本科教育,哪個學校不以c/c++為入門教學語言。都十幾年了,譚浩強還在大賣。語法相近的語言總是學習和使用成本最低的。這一點非常重要。coursera上有一門程序設計語言理論課上,開篇就闡述了這一點的重要性。假設go的入門成本是一個月,erlang的入門成本是2個月,那麼整個程序員群體在學習後者的付出成本就很可觀了。
google由於眾所周知的原因,在國內程序員中不一般的地位。golang有個好背景。
go語言之前一直都沒有接受待見,如今廣大的群眾開始接待,因為騰訊服務器段代碼編譯是支持go語言的
go語言會成為主流也是一個問題,
多慮了,沒有競爭來關係。
雖然go成為源了世界上最並發的語言,這並不妨礙php成為世界上最好的語言,
也不妨礙java成為世界上最有模式的語言,
更不會妨礙c++成為21天就能學會了的語言。為什麼Go語言如此不受待見
其實並沒有不受待見,用的人還是很多的,解決一些特定領域的問題也很方便。
每種語言的流行程度主要取決於這個語言最著名的killerapp的流行程度,C有Linux,Go有Docker。
原創文章,作者:AJYVC,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/330846.html