Go語言也稱 Golang,兼具效率、性能、安全、健壯等特性。這套Go語言教程(Golang教程)通俗易懂,深入淺出,既適合沒有基礎的讀者快速入門,也適合工作多年的程序員查閱知識點。
創新互聯是一家專注于網站建設、網站制作與策劃設計,合水網站建設哪家好?創新互聯做網站,專注于網站建設十余年,網設計領域的專業建站公司;建站業務涵蓋:合水等地區。合水做網站價格咨詢:13518219792
Go 語言
這套教程在講解一些知識點時,將 Go 語言和其他多種語言進行對比,讓掌握其它編程語言的讀者能迅速理解 Go 語言的特性。Go語言從底層原生支持并發,無須第三方庫、開發者的編程技巧和開發經驗就可以輕松搞定。
Go語言(或 Golang)起源于 2007 年,并在 2009 年正式對外發布。Go 是非常年輕的一門語言,它的主要目標是“兼具 Python 等動態語言的開發速度和 C/C++ 等編譯型語言的性能與安全性”。
Go語言是編程語言設計的又一次嘗試,是對類C語言的重大改進,它不但能讓你訪問底層操作系統,還提供了強大的網絡編程和并發編程支持。Go語言的用途眾多,可以進行網絡編程、系統編程、并發編程、分布式編程。
Go語言的推出,旨在不損失應用程序性能的情況下降低代碼的復雜性,具有“部署簡單、并發性好、語言設計良好、執行性能好”等優勢,目前國內諸多 IT 公司均已采用Go語言開發項目。Go語言有時候被描述為“C 類似語言”,或者是“21 世紀的C語言”。Go 從C語言繼承了相似的表達式語法、控制流結構、基礎數據類型、調用參數傳值、指針等很多思想,還有C語言一直所看中的編譯后機器碼的運行效率以及和現有操作系統的無縫適配。
因為Go語言沒有類和繼承的概念,所以它和 Java 或 C++ 看起來并不相同。但是它通過接口(interface)的概念來實現多態性。Go語言有一個清晰易懂的輕量級類型系統,在類型之間也沒有層級之說。因此可以說Go語言是一門混合型的語言。
此外,很多重要的開源項目都是使用Go語言開發的,其中包括 Docker、Go-Ethereum、Thrraform 和 Kubernetes。Go 是編譯型語言,Go 使用編譯器來編譯代碼。編譯器將源代碼編譯成二進制(或字節碼)格式;在編譯代碼時,編譯器檢查錯誤、優化性能并輸出可在不同平臺上運行的二進制文件。要創建并運行 Go 程序,程序員必須執行如下步驟。
使用文本編輯器創建 Go 程序;
保存文件;編譯程序;運行編譯得到的可執行文件。
這不同于 Python、Ruby 和 JavaScript 等語言,它們不包含編譯步驟。Go 自帶了編譯器,因此無須單獨安裝編譯器。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的“智慧學習工場2020-學碩創新工作站 ”唯一獲準的“區塊鏈技術專業”試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
本教程介紹了使用 Godatabase/sql及其標準庫中的包訪問關系數據庫的基礎知識。
您將使用的database/sql包包括用于連接數據庫、執行事務、取消正在進行的操作等的類型和函數。
在本教程中,您將創建一個數據庫,然后編寫代碼來訪問該數據庫。您的示例項目將是有關老式爵士樂唱片的數據存儲庫。
首先,為您要編寫的代碼創建一個文件夾。
1、打開命令提示符并切換到您的主目錄。
在 Linux 或 Mac 上:
在 Windows 上:
2、在命令提示符下,為您的代碼創建一個名為 data-access 的目錄。
3、創建一個模塊,您可以在其中管理將在本教程中添加的依賴項。
運行go mod init命令,為其提供新代碼的模塊路徑。
此命令創建一個 go.mod 文件,您添加的依賴項將在其中列出以供跟蹤。
注意: 在實際開發中,您會指定一個更符合您自己需求的模塊路徑。有關更多信息,請參閱一下文章。
GO語言(二十五):管理依賴項(上)
GO語言(二十六):管理依賴項(中)
GO語言(二十七):管理依賴項(下)
接下來,您將創建一個數據庫。
在此步驟中,您將創建要使用的數據庫。您將使用 DBMS 本身的 CLI 創建數據庫和表,以及添加數據。
您將創建一個數據庫,其中包含有關黑膠唱片上的老式爵士樂錄音的數據。
這里的代碼使用MySQL CLI,但大多數 DBMS 都有自己的 CLI,具有類似的功能。
1、打開一個新的命令提示符。
在命令行,登錄到您的 DBMS,如下面的 MySQL 示例所示。
2、在mysql命令提示符下,創建一個數據庫。
3、切到您剛剛創建的數據庫,以便您可以添加表。
4、在文本編輯器的 data-access 文件夾中,創建一個名為 create-tables.sql 的文件來保存用于添加表的 SQL 腳本。
將以下 SQL 代碼粘貼到文件中,然后保存文件。
在此 SQL 代碼中:
(1)刪除名為album表。 首先執行此命令可以讓您更輕松地稍后重新運行腳本。
(2)創建一個album包含四列的表:title、artist和price。每行的id值由 DBMS 自動創建。
(3)添加帶有值的四行。
5、在mysql命令提示符下,運行您剛剛創建的腳本。
您將使用以下形式的source命令:
6、在 DBMS 命令提示符處,使用SELECT語句來驗證您是否已成功創建包含數據的表。
接下來,您將編寫一些 Go 代碼進行連接,以便進行查詢。
現在你已經有了一個包含一些數據的數據庫,開始你的 Go 代碼。
找到并導入一個數據庫驅動程序,該驅動程序會將您通過database/sql包中的函數發出的請求轉換為數據庫可以理解的請求。
1、在您的瀏覽器中,訪問SQLDrivers wiki 頁面以識別您可以使用的驅動程序。
2、使用頁面上的列表來識別您將使用的驅動程序。為了在本教程中訪問 MySQL,您將使用 Go-MySQL-Driver。
3、請注意驅動程序的包名稱 - 此處為github.com/go-sql-driver/mysql.
4、使用您的文本編輯器,創建一個用于編寫 Go 代碼的文件,并將該文件作為 main.go 保存在您之前創建的數據訪問目錄中。
5、進入main.go,粘貼以下代碼導入驅動包。
在此代碼中:
(1)將您的代碼添加到main包中,以便您可以獨立執行它。
(2)導入 MySQL 驅動程序github.com/go-sql-driver/mysql。
導入驅動程序后,您將開始編寫代碼以訪問數據庫。
現在編寫一些 Go 代碼,讓您使用數據庫句柄訪問數據庫。
您將使用指向結構的指針sql.DB,它表示對特定數據庫的訪問。
編寫代碼
1、進入 main.go,在import您剛剛添加的代碼下方,粘貼以下 Go 代碼以創建數據庫句柄。
在此代碼中:
(3)使用 MySQL 驅動程序Config和FormatDSN類型以收集連接屬性并將它們格式化為連接字符串的 DSN。
該Config結構使代碼比連接字符串更容易閱讀。
(4)調用sql.Open 初始化db變量,傳遞 FormatDSN。
(5)檢查來自 的錯誤sql.Open。例如,如果您的數據庫連接細節格式不正確,它可能會失敗。
為了簡化代碼,您調用log.Fatal結束執行并將錯誤打印到控制臺。在生產代碼中,您會希望以更優雅的方式處理錯誤。
(6)調用DB.Ping以確認連接到數據庫有效。在運行時, sql.Open可能不會立即連接,具體取決于驅動程序。您在Ping此處使用以確認 database/sql包可以在需要時連接。
(7)檢查來自Ping的錯誤,以防連接失敗。
(8)Ping如果連接成功,則打印一條消息。
文件的頂部現在應該如下所示:
3、保存 main.go。
1、開始跟蹤 MySQL 驅動程序模塊作為依賴項。
使用go get 添加 github.com/go-sql-driver/mysql 模塊作為您自己模塊的依賴項。使用點參數表示“獲取當前目錄中代碼的依賴項”。
2、在命令提示符下,設置Go 程序使用的DBUSER和DBPASS環境變量。
在 Linux 或 Mac 上:
在 Windows 上:
3、在包含 main.go 的目錄中的命令行中,通過鍵入go run來運行代碼。
連接成功了!
接下來,您將查詢一些數據。
本文介紹一些Go語言的基礎語法。
先來看一個簡單的go語言代碼:
go語言的注釋方法:
代碼執行結果:
下面來進一步介紹go的基礎語法。
go語言中格式化輸出可以使用 fmt 和 log 這兩個標準庫,
常用方法:
示例代碼:
執行結果:
更多格式化方法可以訪問中的fmt包。
log包實現了簡單的日志服務,也提供了一些格式化輸出的方法。
執行結果:
下面來介紹一下go的數據類型
下表列出了go語言的數據類型:
int、float、bool、string、數組和struct屬于值類型,這些類型的變量直接指向存在內存中的值;slice、map、chan、pointer等是引用類型,存儲的是一個地址,這個地址存儲最終的值。
常量是在程序編譯時就確定下來的值,程序運行時無法改變。
執行結果:
執行結果:
Go 語言的運算符主要包括算術運算符、關系運算符、邏輯運算符、位運算符、賦值運算符以及指針相關運算符。
算術運算符:
關系運算符:
邏輯運算符:
位運算符:
賦值運算符:
指針相關運算符:
下面介紹一下go語言中的if語句和switch語句。另外還有一種控制語句叫select語句,通常與通道聯用,這里不做介紹。
if語法格式如下:
if ... else :
else if:
示例代碼:
語法格式:
另外,添加 fallthrough 會強制執行后面的 case 語句,不管下一條case語句是否為true。
示例代碼:
執行結果:
下面介紹幾種循環語句:
執行結果:
執行結果:
也可以通過標記退出循環:
--THE END--
golang學習比較簡單,不過任何一門語言都不是孤立存在的,在這里簡要說明一下golang開發的學習路線
1.golang基礎,包括go語言安裝,go語言語法,流程控制語句,函數,方法,面向對象概念,網絡編程,并發編程等
2.golang開發框架,包括beego,gin,Iris,Echo等
3.微服務開發
4.深入的話還可以學習算法部分。如果要接觸區塊鏈相關技術的話,還需要學習區塊鏈的加密算法等相關知識
5.如果要結合go實現應用的話,肯定離不開各種數據庫,比如關系型數據庫oracle、mysql,或者各類非關系型數據庫等等
6.如果需要開發界面的話,還需要學習網頁編程如html,javascript,vue,elementUI,bootstrap等網頁開發技術和框架。
7.在以上學習的基礎上還可以向架構方面深入學習。
鏈喬教育在線祝您學有所成。
新聞名稱:go語言學習數據 go 自然語言處理
分享地址:http://m.kartarina.com/article10/hgjhgo.html
成都網站建設公司_創新互聯,為您提供、App開發、搜索引擎優化、云服務器、全網營銷推廣、定制網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯