框架gin get go
Go 语言为什么不支持并发读写 map?
大家好,我是 frank ,「 Golang 语言开发栈」公众号作者。 01 介绍 在 Go 语言项目开发中,我们经常会使用哈希表 map,它的时间复杂度是 O(1),Go 语言中的 map 使用开放寻址法避免哈希碰撞。 Go 语言中的 map 并非原子操作,不支持并发读写操作。 Go 官方认为 m ......
字节微服务HTTP框架Hertz使用与源码分析|拥抱开
首页 登录 字节微服务HTTP框架Hertz使用与源码分析|拥抱开源 白泽z 2022-09-013,421 关注 一、前言 Hertz[həːts] 是一个 Golang 微服务 HTTP 框架,在设计之初参考了其他开源框架 fasthttp、gin、echo 的优势, 并结合字节跳动内部的需求, ......
深入理解spring框架:剖析多线程模式下数据库连接
问题 1、spring框架下,大多数bean都是单例模式。这些单例模式的bean,会在多线程环境下执行(每个http request,可能对应一个线程)。如果bean是有状态的(对象的属性会被修改),如何解决线程安全问题? 2、多线程环境下,db连接如何共享的? db连接复用的粒度,是请求级别还是线 ......
Go标准库:Go template用法详解
本文只介绍template的语法和用法,关于template包的函数、方法、template的结构和原理,见:深入剖析Go template。 入门示例 以下为test.html文件的内容,里面使用了一个template语法{{.}}。 <!DOCTYPE html> <html> <head> < ......
2024-01-13:用go语言,现在有一个打怪类型的游戏,这个游戏是这样的,你有n个技能, 每一个技能会有一个伤害, 同时若怪物小于等于一定的血量,则该技能可能造成双倍伤害, 每一个技能最多只能释放
2024-01-13:用go语言,现在有一个打怪类型的游戏,这个游戏是这样的,你有n个技能, 每一个技能会有一个伤害, 同时若怪物小于等于一定的血量,则该技能可能造成双倍伤害, 每一个技能最多只能释放一次,已知怪物有m点血量。 现在想问你最少用几个技能能消灭掉他(血量小于等于0)。 技能的数量是n, ......
我开源了一个 Go 学习仓库
这个学习仓库中核心包含《The Go Programing Language》一至八章讲解与分析,同时同步收录往期公众号和博客的精彩文章,更有电子书和建立模板供大家参考学习。 ......
go的并发梳理
Golang不可不知的7个并发概念 原创 俞凡 DeepNoMind DeepNoMind 2024-01-06 13:10 发表于上海 3人听过 并发性支持是Golang最重要的原生特性之一,本文介绍了Golang中和并发性相关的7个概念。原文: Golang: 7 must-know concu ......
如何基于 Gin 封装出属于自己 Web 框架?
思路 在基于 Gin 封装出属于自己的 Web 框架前,你需要先了解 Gin 的基本用法和设计理念。 然后,你可以通过以下步骤来封装自己的 Web 框架: 封装路由:Gin 的路由是通过 HTTP 方法和 URL 路径进行匹配的,你可以根据自己的需求,封装出符合应用的业务需求的路由。你可以考虑将路由 ......
go语言多态中的类型断言
类型断言案例 package main import ( "fmt" ) type Usb interface{ Connect() DisConnect() } type Phone struct{ Name string } /* * Phone实现了Usb 接口(是指实现了Usb接口的所有方法 ......
gin学习笔记(二)—— 获取参数和文件上传
获取参数和文件上传 获取参数 url传参 在我们使用网页时,我们有时会看到地址栏上带有 ?后面还跟着一些数据,这就是 url 传参,?后面携带的就是参数。例如:用必应搜索 what is a url,地址栏为 https://cn.bing.com/search?q=what is a url,携带 ......
axios中使用qs.stringify格式化get请求参数
安装使用: 安装: npm install qs 引入使用: // 引入封装的 request.js import request from "@/utils/request"; import qs from "qs"; export function getXXX(params) { return ......
Go语言defer的延迟执行机制
1 题目(单选题) 如下Go语言程序的输出结果是() package main import "fmt" func f1(name string) string { fmt.Println("in f1", name) return name } func f2(name string) strin ......
Go函数的定义个细节梳理
func 函数名(参数列表{参数名1 类型,参数名2,类型})(返回值列表{返回值名1 类型,返回值名2 类型}){ 方法体 } 细节梳理: 函数的形参列表可以是多个,返回值列表也可以是多个。 形参列表和返回值列表的数据类型可以是值类型和引用类型。 函数的命名遵循标识符命名规范,首字母不能是数字,首 ......
go使用jwt创建token并验证token的有效性
一、概述 Go使用jwt创建token,验证登录用户的合法性 导入jwt包 go get github.com/dgrijalva/jwt-go 二、代码示例 1.创建token及解析token package token import ( "fmt" "go_workspace/entity" " ......
软件测试/测试开发全日制|Pytest测试框架fixture作为参数使用
前言 测试用例参数化的时候,使用 pytest.mark.parametrize() 参数化传测试数据,如果我们想引用前面不同fixture返回的数据当测试用例的入参。这个时候我们就可以用fixture 参数化 prams 来间接解决这个问题,本文就来给大家介绍一下如何使用fixture来实现参数化 ......
软件测试/测试开发全日制|Pytest测试框架Fixture作用域详解
前言 Pytest的fixtrue是存在作用域的,比如作用域为函数级别,那么没执行一条用例,就会重新执行一次fixtrue,如果是类级别,那么多个类执行时会在去执行fixture。fixture的作用域有5个,分别是: function,class,module,package,session。有了 ......
unipp框架开发的app跳转至小程序页面
需求:app分享到微信,微信点击进入小程序指定页面 1.配置 项目manifest.json>模块配置>Share>微信分享勾选上,并填写appid 2.调用uniapp的api 官方api https://uniapp.dcloud.net.cn/api/plugins/share.html#sh ......
【C语言】gets 和 puts 函数
gets 函数 scanf函数在读取字符串时遇到空格就认为读取结束,不利于读取一行字符串,gets函数就是为了解决这个问题的。 gets 函数的格式: char *gets(char *str); gets 函数从 STDIN 读取字符并把它们加载到str中,直到遇到 '\n'。gets 函数不会存 ......
go-carbon v2.3.5 发布,轻量级、语义化、对开发者友好的 golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装 ......
开源:Taurus.DTC 微服务分布式事务框架,支持 .Net 和 .Net Core 双系列版本
在经过1年多的深思,十几年的框架编写技术沉淀下,花了近一个月的时间,终于又为 .Net 及 .Net Core 的微服务系列框架贡献当中的一个重要组件。原本的设计是作为 Taurus.Mvc 微服务系列中的一个插件,单独内部集成使用,后来想了想,还是在设计中独立了出来,支持在任意 Mvc 框架中使用... ......
gin学习笔记(一)—— 了解gin
了解gin Web编程基础 客户端和服务端 HTTP 客户端和服务器之间的请求响应一般都是使用 HTTP/HTTPS 协议,它规定了如何从网站服务器传输超文本到本地浏览器。 HTTP请求 当你在网页上点击一个链接、提交一个表单、或者进行一次搜索的时候,浏览器会发送一个 HTTP 请求给服务器。HTT ......
从错误中学习: 了解Go编程的6个坏习惯
从错误中学习: 了解Go编程的6个坏习惯 原创 俞凡 DeepNoMind DeepNoMind 2024-01-07 10:35 发表于上海 Go编程的某些实践容易被误用或忽视,了解这些特性的特点和陷阱,可以帮助我们编写更好的代码。原文: 5+ BAD Practices In Go: Learn ......
go 实现一个接口
Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。 package main import ( "fmt" ) type Phone interface { call() } type NokiaPhone struct { ......
Blazor快速开发框架Known-V2.0.0
Known2.0 Known是基于Blazor的企业级快速开发框架,低代码,跨平台,开箱即用,一处代码,多处运行。 官网:http://known.pumantech.com Gitee: https://gitee.com/known/Known Github:https://github.com ......
集合框架
01-集合框架概述 1. 内存层面需要针对于多个数据进行存储。此时,可以考虑的容器有:数组、集合类2. 数组存储多个数据方面的特点: > 数组一旦初始化,其长度就是确定的。 > 数组中的多个元素是依次紧密排列的,有序的,可重复的 > (优点) 数组一旦初始化完成,其元素的类型就是确定的。不是此类型的 ......
axios发送get、post请求
1.环境安装 //nodejs环境 //npm install axios 2.axios发送get请求 const axios = require('axios') const url = "xxx.xxx.xxx"; const headers = {} axios.get(url, {head ......
Konva-前端绘图框架
一、介绍Konva is an HTML5 Canvas JavaScript framework that extends the 2d context by enabling canvas interactivity for desktop and mobile applications.Kon ......
Go+Gin+xorm+MySql实现增删改查
一、概述 承接上一篇(ps:原生增删改查),本篇使用xorm实现增删改查。 之所以要使用xrom是因为xrom可以极大的缩小操作数据库的成本。 使用rom之前需要导入响应的包 go get github.com/go-xorm/xorm #安装xorm go get xorm.io/core go ......
金蝶云星空快速二次开发框架
金蝶云星空快速二次开发框架 介绍 环境:支持私有云和公有云 可配置性强:统一的配置读取方式,类似springboot方式根据指定的账套加载不同的配置文件,框架会自动识别加载不同环境的参数 可维护性高:可根据配置相关的WebApi框架实现在线调整参数和日志查询,能快速定位问题、减少代码开发和运维次数 ......