Go全稱Golang。
成都創(chuàng)新互聯(lián)公司專注于石城網(wǎng)站建設(shè)服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供石城營銷型網(wǎng)站建設(shè),石城網(wǎng)站制作、石城網(wǎng)頁設(shè)計、石城網(wǎng)站官網(wǎng)定制、成都微信小程序服務,打造石城網(wǎng)絡公司原創(chuàng)品牌,更為您提供石城網(wǎng)站排名全網(wǎng)營銷落地服務。
Go語言由Google公司開發(fā),并于2009年開源,相比Java/Python/C等語言,Go尤其擅長并發(fā)編程,性能堪比C語言,開發(fā)效率肩比Python,被譽為“21世紀的C語言”。
Go語言在云計算、大數(shù)據(jù)、微服務、高并發(fā)領(lǐng)域應用應用非常廣泛。BAT大廠正在把Go作為新項目開發(fā)的首選語言。
本文介紹一些Go語言的基礎(chǔ)語法。
先來看一個簡單的go語言代碼:
go語言的注釋方法:
代碼執(zhí)行結(jié)果:
下面來進一步介紹go的基礎(chǔ)語法。
go語言中格式化輸出可以使用 fmt 和 log 這兩個標準庫,
常用方法:
示例代碼:
執(zhí)行結(jié)果:
更多格式化方法可以訪問中的fmt包。
log包實現(xiàn)了簡單的日志服務,也提供了一些格式化輸出的方法。
執(zhí)行結(jié)果:
下面來介紹一下go的數(shù)據(jù)類型
下表列出了go語言的數(shù)據(jù)類型:
int、float、bool、string、數(shù)組和struct屬于值類型,這些類型的變量直接指向存在內(nèi)存中的值;slice、map、chan、pointer等是引用類型,存儲的是一個地址,這個地址存儲最終的值。
常量是在程序編譯時就確定下來的值,程序運行時無法改變。
執(zhí)行結(jié)果:
執(zhí)行結(jié)果:
Go 語言的運算符主要包括算術(shù)運算符、關(guān)系運算符、邏輯運算符、位運算符、賦值運算符以及指針相關(guān)運算符。
算術(shù)運算符:
關(guān)系運算符:
邏輯運算符:
位運算符:
賦值運算符:
指針相關(guān)運算符:
下面介紹一下go語言中的if語句和switch語句。另外還有一種控制語句叫select語句,通常與通道聯(lián)用,這里不做介紹。
if語法格式如下:
if ... else :
else if:
示例代碼:
語法格式:
另外,添加 fallthrough 會強制執(zhí)行后面的 case 語句,不管下一條case語句是否為true。
示例代碼:
執(zhí)行結(jié)果:
下面介紹幾種循環(huán)語句:
執(zhí)行結(jié)果:
執(zhí)行結(jié)果:
也可以通過標記退出循環(huán):
--THE END--
⑴ Go Kit
它本身不是一個框架,而是一套微服務工具集,可以用于解決分布式系統(tǒng)開發(fā)中的大多數(shù)常見問題,所以使用者可以專注于你的業(yè)務邏輯中。
⑵ Gingko
是一個Go測試框架,目的是幫助我們使用行為驅(qū)動開發(fā)風格高效地編寫富有表現(xiàn)力和全面的測試,它有著非常良好的幫助文檔,任何人都可以輕松地在項目中集成使用它。
⑶ NSQ
實時分布式消息傳遞平臺,提供高可用性和可靠的消息傳遞保證,可以水平擴展,支持負載均衡,安裝部署非常方便。
⑷ Goose
Golang中最佳的數(shù)據(jù)庫遷移包,通過創(chuàng)建增量SQL更改和Go函數(shù)來管理數(shù)據(jù)庫結(jié)構(gòu),在Go1.16版本以上,還支持了嵌入式sql遷移。
⑸ GORM
是一個功能齊全的Golang對象關(guān)系映射庫,是一種開發(fā)人員友好的工具,用于在不兼容的類型系統(tǒng)之間轉(zhuǎn)換數(shù)據(jù),專門設(shè)計用于在類型系統(tǒng)之間切換時最大限度地減少重寫代碼。
⑹ Authboss
一個模塊化的身份驗證包,使用它你可以快速地在項目中進行身份驗證管理。它有幾個常見的身份驗證和授權(quán)模塊供開發(fā)人員選擇。
⑺ cli
是一個簡單快捷的命令行管理包,用于為Go語言構(gòu)建命令行應用程序,允許開發(fā)人員開發(fā)自己的富有表現(xiàn)力的命令行應用程序,用于創(chuàng)建標志、bash完成例程并生成幫助文本。
⑻ Vegeta
是一個用于HTTP負載測試的工具包,這個多功能工具專為測試具有恒定請求率的HTTP服務而設(shè)計。它可以有效地分析程序中的潛在問題,是一個始終貫穿以提高整體性能為目的的包。