Go语言创建Web服务器

因为Go语言自带高性能服务器,且支持http、TCP/UDP,这得益于内置了net/http包,这个包提供了HTTP客户端和服务端的实现,

所以用Go语言创建Web服务器,代码很简洁。

说明:

1、导入了net/http包

2、http.HandleFunc("/", hello)是创建一个http的路由,URL是根路径,然后监听在8080端口。

每次针对HTTP服务器根路径的一个新的请求产生时,服务器将生成一个新的协程goroutine执行hello函数。

而hello函数简单地使用 http.ResponseWriter将响应写给客户端。该响应是"hello!",进行了字节转换。

通过浏览器或curl访问:

 

协程goroutine是Go语言并发编程中的轻量线程概念,并不是真正操作系统的线程,

而是将一个操作系统线程分段使用,通过调度器实现协作式调度。是一种绿色线程,微线程。

当然,也可以使用gin框架

复制代码
package main

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

func main() {
    // 创建一个默认的路由引擎
    r := gin.Default()
    // GET:请求方式;/hello:请求的路径
    // 当客户端以GET方法请求/hello路径时,会执行后面的匿名函数
    r.GET("/hello", func(c *gin.Context) {
        // c.JSON:返回JSON格式的数据
        c.JSON(200, gin.H{
            "message": "Hello world!",
        })
    })
    // 启动HTTP服务,默认在0.0.0.0:8080启动服务
    r.Run()
}
复制代码

 

posted @   海布里Simple  阅读(693)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示