成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

跟著官網學Go之基于Gin開發一個簡單的RESTful API

開發 前端
我們可以看到類型后面用json標識了別名,其主要作用則是當該struct序列化成json時,會序列化為該別名,如果沒有別名則按屬性名展示。

前面已經將Go1.17.6安裝好了,這一小節,繼續跟著官網學習基于Gin開發RESTful API

環境準備

這里,我在E盤新建一個名為ginrest的文件夾,然后用vscode打開該文件夾,繼續使用cmd命令進入到E:\ginrest文件夾,然后執行go mod init命令

此時,在該文件夾下會生成一個名為go.mod的文件

新建main.go

前面基礎準備好后,我們就需要準備程序該有的入口,那便是新建一個main.go文件,

在該文件中加入包名package main

我繼續新建一個名為album的struct,go中的struct類似于C#中的類,在Go中,定義一個struct的標準格式如下

type 名 struct{
字段名 字段類型
}

我們在該struct中加入一些字段屬性

type album struct {
Id string `json:"id"`
Title string `json:"title"`
Artist string `json:"artist"`
Price float64 `json:"price"`
}

我們可以看到類型后面用json標識了別名,其主要作用則是當該struct序列化成json時,會序列化為該別名,如果沒有別名則按屬性名展示。

我新建一個album的數組,主要是為后續數據讀取做準備

var albums = []album{
{Id: "1", Title: "Blue Train", Artist: "John Coltrane", Price: 56.99},
{Id: "2", Title: "Jeru", Artist: "Gerry Mulligan", Price: 17.99},
{Id: "3", Title: "Sarah Vaughan and Clifford Brown", Artist: "Sarah Vaughan", Price: 39.99},
}

使用Gin

前面把基礎的準備工作已經做好了,現在便是進入主題,開始使用Gin,引入Gin包,現在main.go中使用import導入包并編寫main方法,在main方法中使用gin創建一個簡單的Http服務器

import "github.com/gin-gonic/gin"
func main() {
router := gin.Default()

router.Run("0.0.0.0:8080")
}

這里是0.0.0.0:8080是監聽本機的8080端口,其實也可以直接使用:8080,如:router.Run(":8080"),端口號可以自行調整,如果不指定,默認端口號也是8080。此時通過cmd執行go get .來下載gin的依賴包,這是不是類似.Net里面的Nuget包管理呢?

依賴包下載完成后,此時,我們的go.mod文件便會新增一來記錄,并且會多出一個go.sum的文件,它為我們記錄了依賴包版本信息。

此時,我們的程序就可以運行了,

這時,我們訪問一下8080端口,服務端會返回404 page not found,那是因為我們現在什么都還沒有做,

我們繼續來分別實現獲取(getAlbums)和添加(postAlbums)兩個方法,Go語言中的方法和C#有些差別,

C#中大概就是這樣子

public List<Albums> GetAlbums(){

}

Go中需要func關鍵字來申明,下面就跟著官網的例子繼續寫

func getAlbums(c *gin.Context) {
c.IndentedJSON(http.StatusOK, albums)
}

func postAlbums(c *gin.Context) {
var newAlbum album

if err := c.BindJSON(&newAlbum); err != nil {
return
}

albums = append(albums, newAlbum)
c.IndentedJSON(http.StatusCreated, newAlbum)
}

接下來就是將方法注冊到Gin的路由中

router.GET("/albums", getAlbums)
router.POST("/albums", postAlbums)

這里的注冊的路由路徑都是/albums,通過Get和Post這兩種請求方式來區分不同的邏輯

現在運行起來后,在瀏覽器訪問

http://localhost:8080/albums便能正常返回數據

接下來,使用postman發起post請求,當服務端接受到請求后,會將提交的數據追加到數組中

這里只是使用Gin來實現簡單的Get和Post,就從這個簡單的示例中,我們可以感受到它的靈活和簡潔,后面我們再繼續跟進學習,最好是結合實際例子來做些小應用。


責任編輯:武曉燕 來源: 今日頭條
相關推薦

2022-02-09 07:52:36

GolangGo語言

2022-02-07 10:21:54

.NET配置對象

2022-10-08 00:00:00

AdminUser數據庫鑒權

2023-02-01 08:04:07

測試flask網頁

2022-08-29 17:25:19

鴻蒙應用開發

2022-09-30 14:08:26

Hap應用鴻蒙

2022-09-28 13:57:41

鴻蒙開源

2015-10-12 15:50:07

PaaS云平臺開發go

2011-09-08 13:41:53

Widget

2022-11-25 16:48:54

鴻蒙Stage HAP

2022-09-16 15:22:16

測試套件鴻蒙

2022-08-19 19:02:20

開源鴻蒙操作系統

2009-07-07 11:38:54

jsp oracle

2022-10-17 14:29:24

鴻蒙應用開發

2025-05-22 06:48:50

RAGAI應用開發框架DeepSeek

2019-05-08 14:37:49

Web服務器HTTP

2024-05-13 08:40:02

Go事件驅動編程

2022-08-05 12:05:07

JavaGuava集合

2018-06-08 16:48:09

PythonQQ機器人

2022-11-03 15:47:04

HTTP通信協議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99草免费视频 | 日韩欧美国产精品一区 | 欧洲国产精品视频 | 亚洲精品在线免费看 | 麻豆一区一区三区四区 | 亚洲一二三区在线观看 | 一区二区三区国产在线观看 | 欧美一区二区成人 | 91精品国产乱码久久久久久久 | 欧美精品一区二区三区在线播放 | 国产剧情一区 | 久久在看 | 午夜日韩 | 国产三级 | 欧美 日韩 国产 一区 | 91新视频| 国产一区二区三区高清 | 久久久久亚洲 | 九九热在线观看视频 | 中日av| 国产一级在线视频 | 久久精品久久精品久久精品 | 国产三级 | 亚洲精品乱码久久久久久按摩 | 日本韩国电影免费观看 | 日日天天 | 国产一级视频在线 | 亚洲乱码国产乱码精品精98午夜 | 久久久免费 | 中文字幕一区二区三区乱码在线 | 亚洲人成人一区二区在线观看 | 欧美大片久久久 | 自拍偷拍亚洲欧美 | 欧美色综合一区二区三区 | 国产精品国产亚洲精品看不卡15 | 日本三级做a全过程在线观看 | 午夜精品一区二区三区在线视频 | 中文字幕一区在线观看视频 | 日本不卡一区 | 久久伊人久久 | 蜜桃av一区二区三区 |