当前位置: 首页 > news >正文

Golang基本的网络编程

Go语言基本的Web服务器实现

Go 语言中的 http 包提供了创建 http 服务或者访问 http 服务所需要的能力,不需要额外的依赖。
Go语言在Web服务器中主要使用到了 “net/http” 库函数,通过分析请求的URL来实现参数的接收。
下面介绍了http 中Web应用的基本操作,主要包括路由器的定义、路由的设备、请求参数的提取。

package mainimport ("fmt""log""net/http""sync"
)var mu sync.Mutex
var count intfunc main() {//定义路由http.HandleFunc("/", handler)http.HandleFunc("/counter", counter)http.HandleFunc("/parse", reParse)log.Fatal(http.ListenAndServe("localhost:8081", nil))
}//接口处理函数
func handler(w http.ResponseWriter, r *http.Request) {fmt.Fprintf(w, "respons = %s", "Hello Jack!")
}//存在多线程的公有变量时,需要使用锁来确保数据的安全。
func counter(w http.ResponseWriter, r *http.Request) {mu.Lock()count++fmt.Fprintf(w, "counter = %d", count)mu.Unlock()
}//通过获取*http.Request请求参数来分析出用户请求
func reParse(w http.ResponseWriter, r *http.Request) {parse := r.URL.Query()fmt.Fprintf(w, "parse = %s", parse)
}//输入://输出://URL: http://127.0.0.1:8081///URL: http://127.0.0.1:8081/counter//URL: http://127.0.0.1:8081/parse?k=2
http://www.lryc.cn/news/153698.html

相关文章:

  • Postgresql的一个bug_涉及归档和pg_wal
  • 轻量、便捷、高效—经纬恒润AETP助力车载以太网测试
  • 【跟小嘉学 Rust 编程】二十四、内联汇编(inline assembly)
  • 综合实训-------成绩管理系统 V1.1
  • 13.108.Spark 优化、Spark优化与hive的区别、SparkSQL启动参数调优、四川任务优化实践:执行效率提升50%以上
  • 大模型综述论文笔记6-15
  • 树的介绍(C语言版)
  • Android studio实现圆形进度条
  • 基于Halcon的喷码识别方法
  • 【Sword系列】Vulnhub靶机HACKADEMIC: RTB1 writeup
  • idea使用maven时的java.lang.IllegalArgumentException: Malformed \uxxxx encoding问题解决
  • linux深入理解多进程间通信
  • 使用自定义注解+aop实现公共字段的填充
  • Unity 安卓(Android)端AVProVideo插件播放不了视频,屏幕一闪一闪的
  • 无涯教程-JavaScript - DMIN函数
  • GaussDB数据库SQL系列-层次递归查询
  • pycharm 下jupyter noteobook显示黑白图片不正常
  • Java异常(Error与Exception)与常见异常处理——第八讲
  • 【JAVA】多态
  • android 12 第三方apk系统签名
  • 【论文阅读】自动驾驶中车道检测系统的物理后门攻击
  • ArrayList、LinkedList、Collections.singletonList、Arrays.asList与ImmutableList.of
  • 恒运资本:沪指涨逾1%,金融、地产等板块走强,北向资金净买入超60亿元
  • 解决WebSocket通信:前端拿不到最后一条数据的问题
  • 【java】[maven]每次创建一个maven模块时java compiler版本就是1.6与实际版本不一致(解决本质问题)
  • GPT-5继续秘密训练中!ChatGPT开学大礼包
  • 3.2.0 终极预告!云原生支持新增 Spark on k8S 支持
  • Flutter状态管理 — 探索Flutter中的状态
  • Python中重要的条件语句教程
  • 记录一下自己对linux分区挂载的理解