Golang基本的网络编程

news/2025/3/5 3:11:05/

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.ppmy.cn/news/1100743.html

相关文章

使用工厂模式、策略模式、门面模式、单例模式、责任链模式、装饰者模式和访问者模式来实现红包雨

红包雨是一种在移动应用程序中经常出现的营销活动,它可以在特定时间内向用户投放很多红包,来吸引用户参与活动。如何在程序中实现红包雨呢?下面将介绍如何使用设计模式来实现红包雨。 首先,使用工厂模式来创建不同类型的红包对象。在工厂模式中,我们定义一个工厂类,该类…

【数据分析】Python:处理缺失值的常见方法

在数据分析和机器学习中,缺失值是一种常见的现象。在实际数据集中,某些变量的某些条目可能没有可用的值。处理缺失值是一个重要的数据预处理步骤。在本文中,我们将介绍如何在 Pandas 中处理缺失值。 我们将探讨以下内容: 什么是缺…

Java项目基于SpringBoot藏区特产销售系统,可作为毕业设计

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 今天为大家带来的是基于 Java SpringBootVue 的藏区特产销售系统 文章目录 1. 简介2.主要技术3 功能分析4 系…

centos编译升级cmake,痛苦的Linux小白

环境 root 用户 下载 cmake官网下载地址:https://cmake.org/download/ 获取下载地址,右击cmake-3.27.4.tar.gz 命令行输入链接地址,下载 wget https://github.com/Kitware/CMake/releases/download/v3.27.4/cmake-3.27.4.tar.gz解压 tar -zx…

Java——》Synchronized和Lock区别

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

WeiTools

目录 1.1 WeiTools 1.2 getTime 1.3 getImageView 1.4 StringEncode 1.4.1 // TODO Auto-generated catch block WeiTools package com.shrimp.xiaoweirobot.tools;

第三章 Linux多线程开发 线程取消 属性 同步 互斥锁 死锁 读写锁 生产者消费者 信号量

线程取消&#xff1a; /*#include <pthread.h>int pthread_cancel(pthread_t thread);- 功能&#xff1a;取消线程&#xff08;让线程终止&#xff09;取消某个线程&#xff0c;可以终止某个线程的运行&#xff0c;但是并不是立马终止&#xff0c;而是当子线程执行到一个…

MySQL——日志

日志的作用 1.用来排错 2.用来做数据分析 3.了解程序的运行情况&#xff0c;是否健康--》了解MySQL的性能&#xff0c;运行情况 分类 mysql很多有类型的日志&#xff0c;按照组件划分的话&#xff0c;可以分为 服务层日志 和 存储引擎层日志 &#xff1a; - 服务层…