Go Web 项目使用 Gin 框架:Hello World 示例

server/2024/9/23 9:28:33/

Go 是一种静态类型的编程语言,以其简洁、高效和并发性能而闻名。Gin 是一个由 Go 语言编写的 Web 框架,它提供了一种快速且易于使用的方式来构建 Web 应用程序。本文将指导您如何新建一个 Go Web 项目,并使用 Gin 框架启动一个简单的 “Hello World” 应用。

环境准备

在开始之前,请确保您的开发环境中已安装了 Go 语言。可以通过访问 Go 官方网站 下载并安装。

创建新的 Go 模块

  1. 打开终端或命令提示符:导航到您希望创建项目的目录。

  2. 初始化新的 Go 模块:运行以下命令来初始化一个新的 Go 模块。这里的 <module-name> 应替换为您的项目名称。

    go mod init <module-name>
    

    例如,如果您的项目名为 helloGin,则运行:

    go mod init helloGin
    

添加 Gin 依赖

在项目根目录下,使用以下命令添加 Gin 作为依赖项:

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

这将自动更新您的 go.mod 文件,并下载 Gin 框架。

编写 Gin Web 应用

  1. 创建主文件:在项目根目录下,创建一个名为 main.go 的文件。

  2. 编写代码:在 main.go 中,编写以下代码:

    package mainimport ("github.com/gin-gonic/gin"
    )func main() {r := gin.Default() // 使用 Gin 的默认中间件创建路由器// 定义路由r.GET("/", func(c *gin.Context) {c.String(200, "Hello World") // 返回状态码 200 和 "Hello World" 字符串})// 在 9090 端口启动服务器r.Run(":9090") // 格式为 "IP:PORT" 或 ":PORT"
    }
    

代码解释

  • 导入 Gin 包:首先,导入 github.com/gin-gonic/gin

  • 创建路由器:使用 gin.Default() 创建一个默认配置的 Gin 路由器。这包括日志记录、恢复(panic 恢复)和路由组。

  • 定义路由:使用 r.GET 方法定义一个 GET 路由,当访问根路径 / 时,执行一个匿名函数,该函数使用 c.String 方法返回 HTTP 状态码和响应消息。

  • 启动服务器:调用 r.Run(":9090") 启动服务器,监听 9090 端口。

运行您的 Web 应用

在终端中,确保您位于项目根目录,然后运行以下命令来启动您的 Web 应用:

go run main.go

访问您的 Web 应用

打开您的 Web 浏览器,访问 http://localhost:9090。您应该看到浏览器显示 “Hello World”。

结语

通过本文,您已经学会了如何创建一个新的 Go Web 项目,并使用 Gin 框架快速启动一个 “Hello World” 应用。Gin 提供了一种简单而强大的方法来构建 Web 应用程序,非常适合快速开发和生产环境。希望这个示例能够帮助您开始使用 Gin 框架进行 Web 开发。如果您想进一步探索 Gin 的高级特性,可以访问 Gin 的 GitHub 仓库 来获取更多信息和示例。

gin:auto;margin-top:12px" class="blog-extension-box">

http://www.ppmy.cn/server/98962.html

相关文章

基于Martin实现MapboxGL自定义底图

概述 本文分享基于Martin实现MapboxGL底图的自定义。 实现后效果 Martin简介 Martin 是一个瓦片服务器&#xff0c;它能够从 PostGIS 数据库、PMTiles&#xff08;本地或远程&#xff09;以及 [MBTiles] (https://github.com/mapbox/mbtiles-spec) 文件中快速生成并提供矢量瓦…

2024世界机器人大会将于8月21日至25日在京举行

2024年的世界机器人大会预定于8月21日至25日&#xff0c;在北京经济技术开发区的北人亦创国际会展中心隆重举办。 本届大会以“共育新质生产力 共享智能新未来”为核心主题&#xff0c;将汇聚来自全球超过300位的机器人行业专家、国际组织代表、杰出科学家以及企业家&#xff0…

Go语言本机多版本管理

go1.19.6 && go1.22.4 背景 当前安装的版本是1.22.4&#xff0c;但是对于某些项目有低版本的要求&#xff0c;所以说需要安装低版本 最终使用别名调用的方法 方法 安装go1.19.6压缩包 https://go.dev/dl/ 我下载该go1.19.6.darwin-arm64.tar.gz包 解压缩到指定…

Linux IPC-System V

前言 我们上一期介绍了&#xff0c;用管道实现进程间通信&#xff0c;以及介绍了管道的原理&#xff01;本期我们来介绍System V系列的进程间通信&#xff01;本博客主要介绍共享内存&#xff0c;对消息队列和信号量只介绍原理和接口调用&#xff01; 本期内容介绍 一、Syst…

C++ STL专题 list的底层实现

目录 1.模拟实现list 2.节点模板讲解 3.迭代器模板讲解 3.1为什么template 有三个类型参数 (1).class T (2).class ref (3).class ptr 3.2 *重载 3.3 ->重载 3.4 前置和后置的重载 3.5 前置--和--后置的重载 3.6 和!的重载 4. list模板讲解 4.1 begin()函数 …

【乐吾乐2D可视化组态编辑器】表单控件

表单控件 乐吾乐2D可视化组态编辑器demo&#xff1a;https://2d.le5le.com/ 导入使用 import { formPens ,formPath2DPens} from meta2d/form-diagram; meta2d.registerCanvasDraw(formPens()); meta2d.register(formPath2DPens());//版本>1.0.9 time 时间显示 form-d…

【vue3|第19期】vue3一般组件与路由组件的探讨

日期&#xff1a;2024年8月2日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xff…

聊聊专注力

最近在看两本书&#xff0c;分别是《怒刷存在感&#xff0c;让上司看到你的成绩》、《如何实现工作自由》&#xff0c;两本书都和工作职场有关&#xff0c;整体看下来&#xff0c;给我印象深刻的是&#xff0c;他们无一例外都提到了专注力。 可怕的事实 在试图改变某件事之前&…