go語言代碼 go語言代碼加密

GO語言(三十二):訪問關(guān)系型數(shù)據(jù)庫(下)

在本節(jié)中,您將使用 Go 執(zhí)行 SQL INSERT語句以向數(shù)據(jù)庫添加新行。

創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、雙柏網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為雙柏等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

您已經(jīng)了解了如何使用Query和QueryRow處理返回?cái)?shù)據(jù)的 SQL 語句。要執(zhí)行 不 返回?cái)?shù)據(jù)的 SQL 語句,請使用Exec.

1、在albumByID下面,粘貼以下addAlbum函數(shù)以在數(shù)據(jù)庫中插入新專輯,然后保存 main.go。

在此代碼中:

(1)用DB.Exec執(zhí)行INSERT語句。

Exec接受一條 SQL 語句,后跟 SQL 語句的參數(shù)值。

(2)檢查嘗試INSERT中的錯(cuò)誤。

(3)使用Result.LastInsertId檢索插入的數(shù)據(jù)庫行的 ID 。

(4)檢查嘗試檢索 ID 的錯(cuò)誤。

2、更新main以調(diào)用新addAlbum函數(shù)。

在main函數(shù)末尾添加以下代碼。

在新代碼中:

(1)調(diào)用addAlbum添加新專輯,將要添加的專輯的 ID 分配給albID變量。

從包含 main.go 目錄的命令行中,運(yùn)行代碼。

恭喜!您剛剛使用 Go 對關(guān)系數(shù)據(jù)庫執(zhí)行了簡單的操作。

本節(jié)包含您使用本教程構(gòu)建的應(yīng)用程序的代碼。

Go語言事件請求處理程序(Event Handler)

在Go語言的代碼中,您需要引入官方的SDK庫 aliyun/serverless/fc-runtime-go-sdk/fc,并實(shí)現(xiàn)handler函數(shù)和main函數(shù)。 示例如下:

傳入的event參數(shù)是一個(gè)包含key屬性的JSON字符串,示例如下。

具體的示例解析如下:

有效的Event Handler簽名如下:

其中,InputType和OutputType與encoding/json標(biāo)準(zhǔn)庫兼容。

Event Handler的使用需遵循以下規(guī)則:

事件函數(shù)的Handler示例代碼:

GO語言(十三):使用 Go 和 Gin 開發(fā) RESTful API(下)

當(dāng)客戶端在 發(fā)出POST請求時(shí)/albums,您希望將請求正文中描述的專輯添加到現(xiàn)有專輯數(shù)據(jù)中。

為此,您將編寫以下內(nèi)容:

1、編寫代碼

a.添加代碼以將專輯數(shù)據(jù)添加到專輯列表。

在此代碼中:

1)用于Context.BindJSON 將請求正文綁定到newAlbum。

2) album將從 JSON 初始化的結(jié)構(gòu)附加到albums 切片。

3)向響應(yīng)添加201狀態(tài)代碼,以及表示您添加的專輯的 JSON。

b.更改您的main函數(shù),使其包含該router.POST函數(shù),如下所示。

在此代碼中:

1)將路徑中的POST方法與 /albumspostAlbums函數(shù)相關(guān)聯(lián)。

使用 Gin,您可以將處理程序與 HTTP 方法和路徑組合相關(guān)聯(lián)。這樣,您可以根據(jù)客戶端使用的方法將發(fā)送到單個(gè)路徑的請求單獨(dú)路由。

a.如果服務(wù)器從上一節(jié)開始仍在運(yùn)行,請停止它。

b.從包含 main.go 的目錄中的命令行,運(yùn)行代碼。

c.從不同的命令行窗口,用于curl向正在運(yùn)行的 Web 服務(wù)發(fā)出請求。

該命令應(yīng)顯示添加專輯的標(biāo)題和 JSON。

d.與上一節(jié)一樣,使用curl檢索完整的專輯列表,您可以使用它來確認(rèn)添加了新專輯。

該命令應(yīng)顯示專輯列表。

當(dāng)客戶端向 發(fā)出請求時(shí)GET /albums/[id],您希望返回 ID 與id路徑參數(shù)匹配的專輯。

為此,您將:

a.在您在上一節(jié)中添加的函數(shù)下方postAlbums,粘貼以下代碼以檢索特定專輯。

此getAlbumByID函數(shù)將提取請求路徑中的 ID,然后找到匹配的專輯。

在此代碼中:

(1)Context.Param用于從 URL 中檢索id路徑參數(shù)。當(dāng)您將此處理程序映射到路徑時(shí),您將在路徑中包含參數(shù)的占位符。

(2)循環(huán)album切片中的結(jié)構(gòu),尋找其ID 字段值與id參數(shù)值匹配的結(jié)構(gòu)。如果找到,則將該album結(jié)構(gòu)序列化為 JSON,并將其作為帶有200 OK HTTP 代碼的響應(yīng)返回。

如上所述,實(shí)際使用中的服務(wù)可能會使用數(shù)據(jù)庫查詢來執(zhí)行此查找。

(3)如果找不到專輯,則返回 HTTP 404錯(cuò)誤。

b.最后,更改您的main,使其包含對router.GET的新調(diào)用,路徑現(xiàn)在為/albums/:id ,如以下示例所示。

在此代碼中:

(1)將/albums/:id路徑與getAlbumByID功能相關(guān)聯(lián)。在 Gin 中,路徑中項(xiàng)目前面的冒號表示該項(xiàng)目是路徑參數(shù)。

a.如果服務(wù)器從上一節(jié)開始仍在運(yùn)行,請停止它。

b.在包含 main.go 的目錄中的命令行中,運(yùn)行代碼以啟動服務(wù)器。

c.從不同的命令行窗口,用于curl向正在運(yùn)行的 Web 服務(wù)發(fā)出請求。

該命令應(yīng)顯示您使用其 ID 的專輯的 JSON。如果找不到專輯,您將收到帶有錯(cuò)誤消息的 JSON。

恭喜!您剛剛使用 Go 和 Gin 編寫了一個(gè)簡單的 RESTful Web 服務(wù)。

本節(jié)包含您使用本教程構(gòu)建的應(yīng)用程序的代碼。

Go語言基礎(chǔ)語法(一)

本文介紹一些Go語言的基礎(chǔ)語法。

先來看一個(gè)簡單的go語言代碼:

go語言的注釋方法:

代碼執(zhí)行結(jié)果:

下面來進(jìn)一步介紹go的基礎(chǔ)語法。

go語言中格式化輸出可以使用 fmt 和 log 這兩個(gè)標(biāo)準(zhǔn)庫,

常用方法:

示例代碼:

執(zhí)行結(jié)果:

更多格式化方法可以訪問中的fmt包。

log包實(shí)現(xiàn)了簡單的日志服務(wù),也提供了一些格式化輸出的方法。

執(zhí)行結(jié)果:

下面來介紹一下go的數(shù)據(jù)類型

下表列出了go語言的數(shù)據(jù)類型:

int、float、bool、string、數(shù)組和struct屬于值類型,這些類型的變量直接指向存在內(nèi)存中的值;slice、map、chan、pointer等是引用類型,存儲的是一個(gè)地址,這個(gè)地址存儲最終的值。

常量是在程序編譯時(shí)就確定下來的值,程序運(yùn)行時(shí)無法改變。

執(zhí)行結(jié)果:

執(zhí)行結(jié)果:

Go 語言的運(yùn)算符主要包括算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、賦值運(yùn)算符以及指針相關(guān)運(yùn)算符。

算術(shù)運(yùn)算符:

關(guān)系運(yùn)算符:

邏輯運(yùn)算符:

位運(yùn)算符:

賦值運(yùn)算符:

指針相關(guān)運(yùn)算符:

下面介紹一下go語言中的if語句和switch語句。另外還有一種控制語句叫select語句,通常與通道聯(lián)用,這里不做介紹。

if語法格式如下:

if ... else :

else if:

示例代碼:

語法格式:

另外,添加 fallthrough 會強(qiáng)制執(zhí)行后面的 case 語句,不管下一條case語句是否為true。

示例代碼:

執(zhí)行結(jié)果:

下面介紹幾種循環(huán)語句:

執(zhí)行結(jié)果:

執(zhí)行結(jié)果:

也可以通過標(biāo)記退出循環(huán):

--THE END--

GO語言(十五):泛型入門(下)-

在本節(jié)中,您將添加通用函數(shù)調(diào)用的修改版本,進(jìn)行小的更改以簡化調(diào)用代碼。您將刪除在這種情況下不需要的類型參數(shù)。

當(dāng) Go 編譯器可以推斷您要使用的類型時(shí),您可以在調(diào)用代碼中省略類型參數(shù)。編譯器從函數(shù)參數(shù)的類型推斷類型參數(shù)。

請注意,這并不總是可能的。例如,如果您需要調(diào)用沒有參數(shù)的泛型函數(shù),則需要在函數(shù)調(diào)用中包含類型參數(shù)。

在 main.go 中,在您已有的代碼下方,粘貼以下代碼。

在此代碼中:

(1)調(diào)用泛型函數(shù),省略類型參數(shù)。

從包含 main.go 的目錄中的命令行,運(yùn)行代碼。

接下來,您將通過將整數(shù)和浮點(diǎn)數(shù)的并集捕獲到您可以重用的類型約束(例如從其他代碼中)來進(jìn)一步簡化函數(shù)。

正如您將在本節(jié)中看到的,約束接口也可以引用特定類型。

1、編寫代碼

在此代碼中:

b.在您已有的函數(shù)下方,粘貼以下通用 SumNumbers函數(shù)。

在此代碼中:

c.在 main.go 中,在您已有的代碼下方,粘貼以下代碼。

在此代碼中:

(1)調(diào)用SumNumbers打印每個(gè)map的總和。

與上一節(jié)一樣,在調(diào)用泛型函數(shù)時(shí)省略了類型參數(shù)(方括號中的類型名稱)。Go 編譯器可以從其他參數(shù)推斷類型參數(shù)。

從包含 main.go 的目錄中的命令行,運(yùn)行代碼。

做得很好!您剛剛學(xué)習(xí)了 Go 中的泛型。

新聞標(biāo)題:go語言代碼 go語言代碼加密
網(wǎng)站地址:http://muchs.cn/article0/hgipio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站建站公司、服務(wù)器托管、網(wǎng)站設(shè)計(jì)公司、網(wǎng)頁設(shè)計(jì)公司、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)