go语言gin框架的基本使用
1.首先在linux环境上安装go环境,这个网上搜搜就行
2.初始化一个go mod,网上搜搜怎么初始化
3.下面go代码的网址和端口绑定自己本机的就行
4.与另一篇CSDN一起食用,效果更好哟---> libcurl的get、post的使用-CSDN博客
package mainimport ("github.com/gin-gonic/gin""flag""fmt"
)func downFile(c *gin.Context, filePath string, filename string) {c.Writer.Header().Add("Content-Disposition", fmt.Sprintf("attachment; filename=%s", filename))c.Writer.Header().Add("Content-Type", "application/octet-stream")fmt.Println(filePath)c.File(filePath)
}// go build -o go_gin main.go
func main() {var downPath *string = flag.String("down", "/tmp", "the down dir")flag.Parse()fmt.Printf("downPath = %s\n", *downPath)r := gin.Default()r.GET("/", func(c *gin.Context) {c.JSON(200, gin.H{"message": "Hello World!",})})r.GET("/ping", func(c *gin.Context) {c.JSON(200, gin.H{"message": "pong",})})r.POST("/submit", func(c *gin.Context) {var json struct {Name string `json:"name"`Email string `json:"email"`}if err := c.Bind(&json); err == nil {print("name = " + json.Name)print("email = " + json.Email)c.JSON(200, gin.H{"message": "JSON received","name": json.Name,"email": json.Email,})} else {c.JSON(400, gin.H{"error": err.Error()})}})// 文件下载r.POST("/down_file", func(c *gin.Context) {var json struct {FileName string `json:"file_name"`}if err := c.Bind(&json); err == nil {filePath := (*downPath) + "/" + json.FileNamedownFile(c, filePath, json.FileName)}})r.Run("10.74.37.146:9999") // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
相关文章:
go语言gin框架的基本使用
1.首先在linux环境上安装go环境,这个网上搜搜就行 2.初始化一个go mod,网上搜搜怎么初始化 3.下面go代码的网址和端口绑定自己本机的就行 4.与另一篇CSDN一起食用,效果更好哟---> libcurl的get、post的使用-CSDN博客 package mainimpo…...
TypeScript 从入门到进阶之基础篇(六) 类型(断言 、推论、别名)| 联合类型 | 交叉类型
系列文章目录 TypeScript 从入门到进阶系列 TypeScript 从入门到进阶之基础篇(一) ts基础类型篇TypeScript 从入门到进阶之基础篇(二) ts进阶类型篇TypeScript 从入门到进阶之基础篇(三) 元组类型篇TypeScript 从入门到进阶之基础篇(四) symbol类型篇TypeScript 从入门到进阶…...
Linux操作系统基础(14):文件管理-文件属性命令
1. 查看文件属性 stat命令用于显示文件的详细信息,包括文件的权限、所有者、大小、修改时间等。 #1.显示文件信息 stat file.txt#2.显示文件系统状态 stat -f file.txt#3.显示以时间戳的形式文件信息 stat -t file.txt2. 修改文件时间戳 touch命令用于创建新的空…...
metaSPAdes,megahit,IDBA-UB:宏基因组装软件安装与使用
metaSPAdes,megahit,IDBA-UB是目前比较主流的宏基因组组装软件 metaSPAdes安装 GitHub - ablab/spades: SPAdes Genome Assembler #3.15.5的预编译版貌似有问题,使用源码安装试试 wget http://cab.spbu.ru/files/release3.15.5/SPAdes-3.15.5.tar.gz tar -xzf SP…...
Apache、MySQL、PHP编译安装LAMP环境
1. 请简要介绍一下LAMP环境。 LAMP环境是一个在Linux操作系统上搭建的服务器环境组合,由Apache、MySQL、PHP三种软件构成。这种环境是开源的,跨平台的,并且由于各组件经常一起使用,因此具有高度的兼容性。 其中,Apac…...
L1-087:机工士姆斯塔迪奥
题目描述 在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。 你需要处理这个副本其中的一个机制:NM 大小的地图被拆分为了 NM 个 11 的格子,BOSS 会选择若干行或/及若干列释放技能&#x…...
如何做一个炫酷的Github个人简介(3DContribution)
文章目录 前言3D-Contrib第一步第二步第三步第四步第五步第六步 前言 最近放假了,毕设目前也不太想做,先搞一点小玩意玩玩,让自己的github看起来好看点。也顺便学学这个action是怎么个事。 3D-Contrib 先给大家看一下效果 我的个人主页&am…...
基于单片机的护理床控制器设计
一、摘要 随着科技的不断发展,人们对生活质量的要求越来越高,特别是在医疗保健领域。护理床作为医院病房中常见的设备,其功能和性能直接影响到患者的康复进程。本文主要介绍了一种基于单片机的护理床控制器设计,该控制器可以实现…...
《3D数学基础-图形和游戏开发》阅读笔记 | 3D数学基础 (学习中 1.6更新)
文章目录 3D数学基础矢量/向量什么是向量点与矢量的关系 向量基础运算 向量加法向量基础运算 数乘 线性组合 - 坐标系的基如果选择不同的基向量会怎么样?- 张成(Span)的空间三维向量的张成空间线性相关与线性相关 矩阵与线性变换矩阵-几何意义线性变换矩阵乘法与线性…...
解锁测试性能瓶颈:深度探讨JMeter分布式性能测试!
在做后端服务器性能测试中,我们会经常听到分布式。但你是否了解分布式呢?今天,我们就来给大家讲讲,在企业实战中,如何使用分布式进行性能测试,实战过程中,又有哪些地方要特别注意? 0…...
SiC电机控制器(逆变器)发展概况及技术方向
SiC电机控制器(逆变器)发展概况及技术方向 1.概述2.电动汽车动力系统设计趋势3.栅极驱动器和驱动电源配置4.结论 tips:资料来自网上搜集,仅供学习使用。 1.概述 2022年到2023年,第三代半导体碳化硅被推上了新的热潮。…...
useContext
可以跨组件传值 其实主要的就是三步 1、const xxx React.createContext();创建一个context 2、<xxx.Provider value{{ num, setNum }}>父组件设置要传递的值 3、const { num, setNum } React.useContext(xxx);子组件下使用 特点: 1、可以有多个xxx.Pr…...
Java数据结构:1. 数据结构前置知识
文章目录 一、初识数据结构二、初识集合框架1. 什么是集合框架2. 集合框架的重要性3. 背后所涉及的数据结构以及算法 三、时间复杂度空间复杂度1. 算法效率2. 时间复杂度(1)概念(2)大O的渐进表示法(3)推导大…...
Vue中使用Element UI的Table组件实现嵌套表格(最简单示例)
以下是一个简单的示例代码,演示如何在Vue中使用Element UI的Table组件实现嵌套表格: html <template><div><el-table :data"tableData" style"width: 100%"><el-table-column prop"name" label&quo…...
如何使用RESTful API构建 web 应用程序
RESTful API 是一种设计风格,用于构建可扩展、灵活和可维护的 web 应用程序。它是一种基于 HTTP 协议的架构风格,旨在提供一组规范和约束,以便客户端和服务器之间的通信更加简单和可预测。 RESTful API 通过使用 HTTP 动词来定义资源的操作&…...
开启Android学习之旅-4-Android集成FontAwesome
FontAwesome 是一个非常标准、统一风格的图标库。产品经理在原型中应用了很多图标都是FontAwesome。正常流程是 UI 需要再手工绘制或在 iconfont 或 iconpark 网站挨个找,如果在 Android 直接使用不是省了一步(注意版权问题,使用免费版&#…...
Qt——TCP UDP网络编程
目录 前言正文一、TCP二、UDP1、基本流程2、必备知识 三、代码层级1、UDP服务端 END、总结的知识与问题1、如何获取QByteArray中某一字节的数据,并将其转为十进制?2、如何以本年本月本日为基础,获取时间戳,而不以1970为基础&#…...
有什么安全处理方案可以有效防护恶意爬虫
常见的爬虫 有百度爬虫、谷歌爬虫、必应爬虫等搜索引擎类爬虫,此类爬虫经常被企业用于提高站点在搜索引擎内的自然排名,使得站点在各大搜索引擎中的排名能够提高,进一步通过搜索引擎来进行引流为企业增加业务流量。 恶意爬虫与合法、合规的搜…...
Flutter3.X基础入门教程(2024完整版)
Flutter介绍: Flutter是谷歌公司开发的一款开源、免费的UI框架,可以让我们快速的在Android和iOS上构建高质量App。它最大的特点就是跨平台、以及高性能。 目前Flutter已经支持 iOS、Android、Web、Windows、macOS、Linux的跨平台开发。 教程所讲内容支持…...
GEE——土地利用分类种两个矢量集合中不同列进行相减的方式(利用join进行连接处理)
问题: 我有两个具有相同 ID 的特征集,我想从第二个特征集中减去第一个特征集的表格单元格。 我使用了这个函数,但它计算的是表 1 中第一个元素与表 2 中其他元素的减法。 我想逐个单元格计算减法。第一个表格中 id 为 1 的单元格减去第二个表格中 id 为 1 的单元格,2x2、…...
RT-Thread SMP启动流程深度解析:从多核同步到调度就绪
1. 项目概述:从单核到多核,RT-Thread的启动逻辑变迁如果你是从RT-Thread 3.x版本一路用过来的老用户,或者刚开始接触RT-Thread 4.x,可能会发现一个显著的变化:启动流程变“复杂”了。以前,一个main函数或者…...
使用curl命令快速测试Taotoken大模型接口连通性与功能
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用curl命令快速测试Taotoken大模型接口连通性与功能 在接入大模型服务时,直接使用HTTP请求进行测试是一种高效且通用…...
免费Web串口助手:3个简单步骤开启专业串口调试
免费Web串口助手:3个简单步骤开启专业串口调试 【免费下载链接】SerialAssistant A serial port assistant that can be used directly in the browser. 项目地址: https://gitcode.com/gh_mirrors/se/SerialAssistant 你知道吗?现在无需安装任何…...
从零构建Cursor编辑器编码统计插件:量化开发行为与性能优化实践
1. 项目概述:一个为开发者定制的代码编辑器洞察工具如果你和我一样,每天大部分时间都泡在代码编辑器里,尤其是像 Cursor 这样集成了 AI 能力的新锐工具,那你可能也会好奇:我到底写了多少行代码?删除了多少行…...
RePKG终极指南:解锁Wallpaper Engine资源包的专业工具
RePKG终极指南:解锁Wallpaper Engine资源包的专业工具 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 你是否曾经对Wallpaper Engine中精美的动态壁纸感到好奇ÿ…...
AI编程提示工程实战:从AwesomeCursorPrompt看高效开发与社区协作
1. 项目概述:从“Awesome”前缀看提示工程的社区实践在AI应用开发,特别是大语言模型(LLM)和AI助手交互的领域,一个清晰、结构化的提示(Prompt)往往决定了最终输出质量的80%。很多开发者都有过这…...
用操作系统类比彻底搞懂 AI Agent:进程、系统调用与上下文窗口
用操作系统类比彻底搞懂 AI Agent:进程、系统调用与上下文窗口 引言 很多人第一次接触 AI Agent,会立刻被一堆新词包围:Tool Use、Function Calling、RAG、Memory、Orchestrator、Multi-Agent、Context Compression。 这些词看起来很新&#…...
开源直播推流工具clawstage:模块化设计与核心实现解析
1. 项目概述:从“ClawStage”看开源直播推流工具的设计哲学最近在折腾直播推流方案时,我偶然发现了HooRii-OT团队在GitHub上开源的项目“clawstage”。这个项目名字挺有意思,“claw”是爪子,“stage”是舞台,合起来有种…...
别再只盯着GPS了!用Python解析NMEA数据,5分钟搞定无人机/车载定位数据读取
用Python轻松解析NMEA数据:从无人机到车载系统的实战指南 当你第一次拿到GPS模块输出的那串神秘字符时,可能会感到困惑——这些以$开头的文本究竟隐藏着什么秘密?NMEA协议作为全球定位设备的通用语言,承载着经纬度、速度、时间等关…...
告别单调列表!用Unity Dropdown组件打造游戏中的动态交互式菜单(附事件处理完整代码)
告别单调列表!用Unity Dropdown组件打造游戏中的动态交互式菜单(附事件处理完整代码) 在独立游戏开发中,UI交互的细腻程度往往决定了玩家的沉浸感。想象一下:当玩家在角色创建界面选择职业时,下拉菜单不仅显…...
