【One by one系列】一步步学习Golang web框架Gin

一步步学习Golang web框架Gin

建立项目

go mod 管理依赖

cd $gopath\src\github.com\carfield

go mod init

就可以看到在src\github.com\carfield 生成了go.mod文件

module github.com/carfield

go 1.13

下载gin包

go get -u github.com/gin-gonic/gin

ps:由于众所周知的原因,大概率是下不动,所以请修改代理

修改代理

go env -w GOPROXY=https://goproxy.cn,direct

再次执行

go get -u github.com/gin-gonic/gin

再次打开go.mod文件

module github.com/carfield

go 1.13

require (
    github.com/gin-gonic/gin v1.5.0 // indirect
    github.com/go-playground/universal-translator v0.17.0 // indirect
    github.com/go-sql-driver/mysql v1.5.0 // indirect
    github.com/json-iterator/go v1.1.9 // indirect
    github.com/leodido/go-urn v1.2.0 // indirect
    github.com/mattn/go-isatty v0.0.11 // indirect
    github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
    github.com/modern-go/reflect2 v1.0.1 // indirect
    golang.org/x/sys v0.0.0-20200117145432-59e60aa80a0c // indirect
    gopkg.in/go-playground/validator.v9 v9.31.0 // indirect
    gopkg.in/yaml.v2 v2.2.7 // indirect
)
  • module定义包名
  • require用来定义依赖包及版本
  • indirect表示简介引用

快速开始

import "github.com/gin-gonic/gin"

package main

import (
    "net/http"

    "github.com/gin-gonic/gin"

)

func main() {
    r := gin.Default()
    r.GET("/", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{
            "message": "hello,go-gin wholeheartedly at your service",
        })
    })

    r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

原文地址:https://www.cnblogs.com/RandyField/p/12220798.html

时间: 2024-10-26 02:45:40

【One by one系列】一步步学习Golang web框架Gin的相关文章

Golang 微框架 Gin 简介

框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用,甚至有的时候,脱离了框架,一些开发者都不会写程序了.成长总不会一蹴而就,从写出程序获取成就感,再到精通框架,快速构造应用,当这些方面都得心应手的时候,可以尝试改造一些框架,或是自己创造一个. 曾经我以为Python世界里的框架已经够多了,后来发现相比golang简直小巫见大巫.golang提供的net/http库已经很好了,对于http的协议的实现非常好,基于此再造框架,也不会是难事,因此生态中出现了很多框架.既然构造框架的门槛变低了,

golang基础学习及web框架

golang的web框架 web框架百花齐放:对比 Go Web 编程 Go Web Examples Golang 适合做 Web 开发吗? beego beego简介 go-restful golang学习 go语言圣经 go指南 go指南本地化: 中文版 go get -u github.com/Go-zh/tour tour 英文版 go get golang.org/x/tour tour go指南中文版 go知乎 go学习指南 原文地址:https://www.cnblogs.com

golang web框架 beego 学习 (三) beego获取参数

直接上常用的例子吧: A:     获取URL中的参数 router func init() { beego.Router("/task/?:id/?:name", &controllers.TaskController{}) } controller func (c *TaskController) Get() { id1 := c.GetString(":id") name1 := c.GetString(":name") id2 :

golang web框架 beego 学习 (五) 配置文件

app.conf: appname = gowebProject httpport = 8080 runmode = dev copyrequestbody = true [db] host= localhost port= 3306 databaseName = test userName= root password= root envRar = ${XXX_XXXXX} //XXX_XXXXX 是环境变量 pwd := beego.AppConfig.String("db::passwor

golang web 方案

概要 开发 web 框架 数据库 认证 日志 配置 静态文件服务 上传/下载 发布 docker 打包 部署中遇到的问题 时区问题 概要 轻量的基于 golang 的 web 开发实践. golang 上手简单, 第三方库丰富, 对于业务没那么复杂的项目, 作为 API 的后端也是不错的选择. 下面是对 golang 作为 API 后端的 web 开发实践总结. 开发 API 后端的功能模块基本已经固定, 基于自己的项目, 主要使用了以下模块: web 框架: 整个方案的核心 数据库: orm

基于asp.net + easyui框架,一步步学习easyui-datagrid——实现分页和搜索(二)

http://blog.csdn.net/jiuqiyuliang/article/details/19967031 目录: 基于asp.net + easyui框架,一步步学习easyui-datagrid——界面(一) 基于asp.net + easyui框架,一步步学习easyui-datagrid——实现分页和搜索(二) 基于asp.net + easyui框架,一步步学习easyui-datagrid——实现添加.编辑.删除(三) 基于asp.net + easyui框架,一步步学习e

一步步学习操作系统(2)——在STM32上实现一个可动态加载kernel的"my-boot"

如果要做嵌入式Linux,我们首先要在板子上烧写的往往不是kernel,而是u-boot,这时需要烧写工具帮忙.当u-boot烧写成功后,我们就可以用u-boot附带的网络功能来烧写kernel了.每当板子上电时,u-boot一般会被加载到内存的前半段,如果我们的kernel之前就已经被烧写到开发板了,那么u-boot会加载kernel到内存的后半段并跳转到kernel的起始地址处执行(或者直接跳转到kernel的起始地址处执行,如果kernel可以直接在flash上执行的话.) 如上图所示,绿

一步步学习javascript基础篇(3):Object、Function等引用类型

我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂数据类型(即引用数据类型) Object类型 我们用的最多的引用类型就属object类型了,一般用来存储和传输数据是再好不过的.然,它的两种创建方式我们是否了解呢? 1.通过构造函数来创建 如: var obj = new Object(); 在js中的引用类型有个非常灵活的用法,可以动态的附加属性和赋值.

学渣乱搞系列之网络流学习

学渣乱搞系列之网络流学习 几篇优秀的文章,鉴于本学渣目前功力不够,还不能掌握网络流的精髓要义.故载几篇牛文. Dinic算法: Comzyh的博客 Lich_Amnesia