Golang 的創建是為了實現最大的用戶效率和編碼效率。已經熟悉 Java 或 PHP 的程序員可以在幾周內接受 Go 的培訓(許多人最終會更喜歡它)。在本文中,Dewet Diener 探討了 Golang 的優缺點,以及它的測試驅動開發 (TDD) 如何完美契合。

創新互聯是一家專業提供海陽企業網站建設,專注與網站設計、成都網站設計、HTML5建站、小程序制作等業務。10年已為海陽眾多企業、政府機構等服務。創新互聯專業網站建設公司優惠進行中。
Golang 由 Google 開發和設計,于 2009 年作為一種綜合性編程語言首次出現,旨在最大限度地提高編碼效率。創建該語言的目的是修正其他已建立語言的缺陷。盡管 Golang(或簡稱為“Go”)是一門年輕的語言,但已經積累了大量的開發人員,因此我們想分享為什么在 Curve 我們喜歡 Golang,以及我們如何采用它來實現我們移動銀行業務的目標到云端。
Go 是一種精致的編程語言:它支持“所見即所得”的原則,這意味著清晰易讀的代碼和更少的復雜抽象。該語言本身易于使用且易于訓練。盡管如此,作為一個相對較新的生態系統,要找到對 Go 具有廣泛預先知識的工程師可能會很棘手。
然而,與其他編程語言不同,Go 的創建是為了最大限度地提高用戶效率。因此,具有 Java 或 PHP 背景的開發人員和工程師可以在幾周內獲得使用 Go 的技能和培訓——根據我們的經驗,他們中的許多人最終更喜歡它。
在 Curve,我們大力提倡測試驅動開發 (TDD),Go 的框架與這種方法保持一致。通過簡單地命名一個文件 foo_test.go 并在該文件中添加結構化測試函數,Go 將快速有效地運行您的單元測試。這一創新功能提高了生產力,因為它可以更加專注于測試驅動的開發和改進的同行評審機會。
Golang 具有出色的生產優化品質,例如內存占用小,這支持其在大型項目中作為構建塊的能力,以及開箱即用的與其他架構的輕松交叉編譯。由于 Go 代碼被編譯為單個靜態二進制文件,因此它可以輕松進行容器化,并且通過擴展,將 Go 部署到任何高可用性環境(例如 Kubernetes)中幾乎是微不足道的。
它提供了一種機制來保護工作負載,通過擁有非常纖薄的生產容器而沒有任何無關的依賴項。這使得構建、部署和維護基于 Go 的資產更加直接和安全,并為希望建立或發展其微服務戰略的公司提供了可靠的選擇。
Go 是專門為滿足我們快速發展的技術生態系統的需求而創建的。例如,Go 可以滿足您構建 API 所需的一切,并將其作為其標準庫的一部分。它使用簡單,高性能的 http 服務器消除了團隊設計新項目時經常發生的一些常見的 探索 和設計癱瘓問題——這對于一些其他流行語言(如 Java 和 Node.js)來說太常見了。
Golang 還通過其內置于語言本身的自動格式化程序巧妙地解決了代碼格式化分歧。這完全消除了格式爭議,進而提高了團隊的生產力和注意力。
盡管我是 Go 的擁護者,但它顯然也不是沒有缺陷。一個爭論不休的特性是 Go 沒有顯式接口,這是許多開發人員習慣的概念。雖然不是有害的,但它可以使選擇最適合您的結構的接口成為一項任務。這是因為您不會像在其他流行的編程語言中那樣編寫 X 實現 Y,但您很快就會接受。
依賴管理也是另一個不屬于 Google Golang 開發團隊原始設計的功能。開源社區介入并創建了 Glide 和 Dep,最初的努力并沒有完全解決問題。從 Go 1.11 開始,添加了對模塊的支持,這似乎已成為官方的依賴管理工具。這些挑戰并沒有削弱 Go 作為一種高效編程語言的獨創性,并且它繼續為我們提供優于其他編程語言的顯著優勢。
Golang 吸引了全球敏銳的開發人員的注意,并且圍繞它的興奮繼續增長。開源社區因有趣的項目而蓬勃發展;最著名的是 Docker 和 Kubernetes。
正是這種新鮮、有創意但又簡單的包裝吸引了我們去Go:它是一種令人興奮的編碼語言,可以幫助我們在 Curve 中快速開發以構建更好的產品。
zbxTable是一個開源zabbix報表系統,go語言編寫(張思德,zabbix中國社區開源專家),目前版本已更新到1.15版本,支持zabbix5.4版本。
zbxTable部署有兩種方式:RPM部署和編譯安裝,如有特殊需要,可選擇編譯安裝,zbxtable用go語言編寫,對系統影響小,推薦用RPM安裝。
添加yum源
CentOS 6.x
rpm -Uvh
CentOS 7.X
rpm -Uvh
CentOS 8.X
rpm -Uvh
安裝
全新安裝直接復制命令即可
yum clean all
yum -y install zbxtable
安裝ms-agent
yum -y install ms-agent
配置
數據庫初始化
mysql -uroot -ppassword
create database zbxtable character set utf8 collate utf8_bin;
create user zbxtable@localhost identified by ‘zbxtablepwd123’;
這里不講其他數據庫,有興趣的可以看官網具體配置
系統初始化
配置文件需要初始化才能生成,步驟如下:
cd /usr/local/zbxtable/
./zbxtable init
這時候會進入交互命令行,根據實際情況正確輸入數據庫庫的賬號密碼,zabbix鏈接信息,成功后會生成配置文件,否則無法看到配置文件。
配置MS-Agent
MS-Agent作為告警消息采集客戶端,采集zabbix產生的告警信息,發送到zbxtable平臺中,zbxtable需要在zabbix server配置相應的action。配置如下。
cd /usr/local/zbxtable
./zbxtable install
這時會在zabbix上創建ms-agent用戶,密碼隨機,權限管理員,最后輸出MS-Agent token為MS-Agent 與ZbxTable通信的token,需要和MS-Agent 配置文件里的token保持一致,否則無法正常收到告警。 Token可在conf/app.conf文件里找到。
啟動服務
systemctl enable --now zbxtable
重啟
systemctl restart zbxtable
查看狀態
systemctl status zbxtable
必須確保zbxtable服務是active狀態,如果異常,查看日志文件:/usr/local/zbxtable/logs/zbxtable.log或者系統日志message
Zbxtable-web配置
zbxtable使用nginx做代理,安裝即可
yum -y install nginx
拷貝nginx配置文件
cp /usr/local/zbxtable/nginx.conf /etc/nginx/conf.d/
啟動nginx
systemctl start nginx
開機自啟動
systemctl enable nginx
zbxtable訪問地址:,默認賬號密碼:admin/Zbxtable。
LiteIDE是一款專門為Go語言開發的跨平臺輕量級集成開發環境(IDE),由QT編寫。
LiteIDE主要特點: 支持主流操作系統
Windows
Linux
MacOS X Go編譯環境管理和切換
管理和切換多個Go編譯環境
支持Go語言交叉編譯 與Go標準一致的項目管理方式
基于GOPATH的包瀏覽器
基于GOPATH的編譯系統
基于GOPATH的Api文檔檢索 Go語言的編輯支持
類瀏覽器和大綱顯示
Gocode(代碼自動完成工具)的完美支持
Go語言文檔查看和Api快速檢索
代碼表達式信息顯示F1
源代碼定義跳轉支持F2
Gdb斷點和調試支持
gofmt自動格式化支持 其他特征
支持多國語言界面顯示
完全插件體系結構
支持編輯器配色方案
基于Kate的語法顯示支持
基于全文的單詞自動完成
支持鍵盤快捷鍵綁定方案
Markdown文檔編輯支持
實時預覽和同步顯示
自定義CSS顯示
可導出HTML和PDF文檔
批量轉換/合并為HTML/PDF文檔 Sublime Text 2(以下簡稱Sublime)+ GoSublime + gocode + MarGo的組合。
其優點有: 自動化提示代碼。 保存的時候自動格式化代碼,讓您編寫的代碼更加美觀,符合Go的標準。 支持項目管理 支持語法高亮 熟悉Java的讀者應該對于idea不陌生,idea是通過一個插件來支持go語言的高亮語法,代碼提示和重構實現。
設置Go操作系統變量(GOOS)為“darwin”應該有效,但有幾種情況可能導致它不起作用:
1.在設置GOOS變量時可能出現拼寫錯誤。請確保將其拼寫為“darwin”,而不是“darvin”等其他類似的拼寫錯誤。
2.應該將GOOS變量設置為環境變量或在命令行中使用“export”命令進行設置(如:export GOOS=darwin)。如果您沒有使用這些方式來設置變量,它可能不會生效。
3.如果您正在使用交叉編譯進行跨操作系統編譯,則GOOS變量只會影響目標操作系統,并不會影響宿主操作系統。因此,在這種情況下,即使您設置了GOOS為“darwin”,但如果您在Windows主機上進行編譯,則仍將使用Windows操作系統的設置和限制。
如果您遵循正確的設置步驟,但GOOS仍然無法生效,請確認您的Go安裝是否正確并徹底,并且沒有其他版本的Go正在干擾。
網站題目:go語言交叉報表 golang 交叉編譯
鏈接分享:http://www.yijiale78.com/article30/ddgsdpo.html
成都網站建設公司_創新互聯,為您提供、網站維護、網站制作、網站設計公司、標簽優化、微信小程序
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯