E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
------【golang】
Golang
锁实现原理
什么是锁锁的本质,就是一种资源,是由操作系统维护的一种专门用于同步的资源比如说互斥锁,说白了就是一种互斥的资源。只能有一个进程(线程)占有。当一个进程(线程)通过竞争获得锁的时候,其他进程(或线程)将得不到这把锁。这是内核代码决定的如果我们希望某种资源在多个进程(线程/协程)之间共享,但是某一时刻最多有一个进程占有,这不就是互斥锁的概念吗,也就是说,我们希望自己的资源也变成一种锁最简单的办法就是将
独臂阿童木
·
2024-02-02 12:48
goLang
#
go语言基础
#
golang
源码原理
golang
java
jvm
golang
基础,为什么有结构体?
结构体是
Golang
中非常重要的概念,它主要用于将一组相关的数据字段组织在一起,以便于对数据进行管理、操作和传递。
科技百宝箱
·
2024-02-02 12:47
golang基础
golang
Golang
中没法下载第三方包解决办法
Go1.13及以上(推荐)打开你的终端并执行$goenv-wGO111MODULE=on$goenv-wGOPROXY=https://goproxy.cn,direct运行完成上面命令后,直接运行你的项目就可以下载没法下载的包了。macOS或Linux打开你的终端并执行$exportGO111MODULE=on$exportGOPROXY=https://goproxy.cn或者$echo"ex
肥茹
·
2024-02-02 12:16
go
golang
开发语言
后端
golang
map 锁_
golang
并发安全Map以及分段锁的实现
CompareAndSwap)双检查分断锁typeSimpleCachestruct{musync.RWMutexitemsmap[interface{}]*simpleItem}在日常开发中,上述这种数据结构肯定不少见,因为
golang
吴雄辉
·
2024-02-02 12:44
golang
map
锁
手撕基于Redis的分布式锁——
Golang
,附可用代码DisGo
1.背景介绍近期接到任务,需要用
Golang
开发一个基于Redis的分布式锁,因为目前网上已存在的
golang
分布式锁要么是性能都不够,要么就是功能不全,根据网上收集到的资料,最终决定参考Redisson
一口一个菠萝
·
2024-02-02 12:14
框架
redis
golang
分布式锁
DisGo
为什么
golang
的map不支持并发操作?sync.map又是怎么实现的?
sync.map的总结我先把结论贴在前面,让人有一种大概的认知sync.map的实现原理通过readmap和dirtymap将读写分离,实现高效读写如果readmap读取不到并且amended为true(false表示readmap和dirtymap一致,就没必要再读dirtymap了),则给map加锁并从dirtymap读取,将misses+1。如果map中一共有n个元素,但是读了n次都没有在r
老A技术联盟
·
2024-02-02 12:14
开发语言
golang
Golang
之自旋锁
Golang
之自旋锁目录
Golang
之自旋锁自旋锁
golang
实现自旋锁可重入的自旋锁和不可重入的自旋锁自旋锁的其他变种1.TicketLockTicketLock主要解决的是公平性的问题。
~庞贝
·
2024-02-02 12:14
Golang底层
golang
开发语言
后端
golang
的乐观锁与悲观锁
golang
的乐观锁与悲观锁基本概念基本概念乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。
呼噜_
·
2024-02-02 12:44
golang
golang
锁
数据安全
Golang
中的 map 为什么是并发不安全的?
文章目录
Golang
中的map为什么是并发不安全的?
及尔偕老lp
·
2024-02-02 12:12
golang
golang
数据结构
Golang
+etcd的分布式锁
新一代的后台服务中间件都用Go语言写了(上一代的才是Java),比如etcd,那么基于etcd写一个分布式,还是很实用的,废话不多说,先看代码:packagedistribution_lockerimport("context"clientV3"go.etcd.io/etcd/client/v3""log""os""time")typeDistributionLockerstruct{config
互联网速递520
·
2024-02-02 12:11
IT--软件开发
golang
分布式
锁
Golang
的锁机制
golang
中的锁分为互斥锁、读写锁、原子锁即原子操作。在
Golang
里有专门的方法来实现锁,就是sync包,这个包有两个很重要的锁类型。一个叫Mutex,利用它可以实现互斥锁。
@航空母舰
·
2024-02-02 12:11
Go
golang
java
开发语言
乐观锁,悲观锁与
Golang
悲观锁悲观锁(PessimisticLock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁乐观锁(OptimisticLock),顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不
月守护
·
2024-02-02 12:41
Go
乐观锁
悲观锁
golang
一个网址导航后台系统
webstack-go网址导航后台系统基于
Golang
开源的网址导航网站项目,具备完整的前后台,您可以拿来制作自己平日收藏的网址导航。
super_journey
·
2024-02-02 11:38
阿里云
golang
go
docker
docker
compose
为什么
golang
不支持可重入锁呢?
为什么
golang
不需要可重入锁?在工程中使用锁的原因在于为了保护不变量,也可以用于保护内、外部的不变量。基于此,Go在互斥锁设计上会遵守这几个原则。
动态一时爽,重构火葬场
·
2024-02-02 11:37
concurrent
lang
golang
开发语言
后端
【
golang
】13、viper 配置库 | 配置文件读写 | 使用方式 | 源码逻辑分析
文章目录一、使用方式1.1特性1.2优势1.3设置1.3.1默认值1.3.2配置文件1.3.3写配置文件1.3.4监听配置文件变化1.3.5从io.Reader读配置1.3.6SettingOverrides1.3.7使用Alias1.3.8环境变量1.3.9命令行Flags1.3.8.1Flag接口1.3.9配置中心1.3.9.1未加密1.3.9.2加密1.3.9.3监听变化1.4读取1.4.1
呆呆的猫
·
2024-02-02 11:44
#
golang
golang
开发语言
后端
后端研发(PHP+go等)学习资料汇集
PHP部分:Laravel从入门到精通教程PHP设计模式系列基于PHPUnit编写单元测试2019腾讯php面试题php实现文件下载限速GO部分:go介绍与环境安装
Golang
从入门到精通教程其它:数据结构与算法
i娟儿
·
2024-02-02 09:20
Learn
Golang
in Day 8
Learn
Golang
inDay8变量作用域局部变量全局变量形参也是局部变量局部变量函数内部声明的变量是局部变量packagemainimport"fmt"funcmain(){/*声明局部变量*/vara
笑吧小鸟
·
2024-02-02 09:25
golang
中获取interface{}的实际类型
在走读beego的源码时,有如下操作。funcregisterModel(PrefixOrSuffixstring,modelinterface{},isPrefixbool){val:=reflect.ValueOf(model)typ:=reflect.Indirect(val).Type()}
onmeiei
·
2024-02-02 08:45
基于Go-Kit的
Golang
整洁架构实践
如何用
Golang
实现简洁架构?本文介绍了基于Go-Kit实现简洁架构的尝试,通过示例介绍了简洁架构的具体实现。
俞凡 DeepNoMind
·
2024-02-02 08:16
程序人生
GoLang
之统一框架
引言
GoLang
语言开发,有beego、gin等框架,gin框架使用较多,笔者也较为熟悉。
云焰
·
2024-02-02 07:32
基础框架技术
性能优化
golang
gin
Golang
Sqlite3 报register db 'default', U S 错误
2019独角兽企业重金招聘Python工程师标准>>>在win7,32位系统下,
Golang
Sqlite3报registerdb'default',US错误解决办法:1.下载MinGW322.设置系统环境
weixin_33794672
·
2024-02-02 07:29
数据库
golang
python
golang
开源项目
src:https://www.open-open.com/lib/view/open1396063913278.html#Networking内容目录Astronomy构建工具缓存云计算命令行选项解析器命令行工具压缩配置文件解析器控制台用户界面加密数据处理数据结构数据库和存储开发工具分布式/网格计算文档编辑器EncodingsandCharacterSetsGamesGISGoImplement
青丶空゛
·
2024-02-02 07:26
Go从入门到入土
Go
golang
开源
一文说尽
Golang
单元测试实战的那些事儿
腾讯后台开发工程师张力结合了公司级漏洞扫描系统洞犀在DevOps上探索的经验,以
Golang
为例,列举了编写单元测试需要的工具和方法,然后针对写单测遇到的各种依赖问题,详细介绍了通过Mock的方式解决各种常用依赖
腾讯云开发者
·
2024-02-02 07:53
单元测试
java
go
mysql
软件测试
golang
的sqlite驱动不使用cgo实现 更换gorm默认的SQLite驱动
golang
的sqlite驱动不使用cgo实现更换gorm默认的SQLite驱动最近在开发一个边缘物联网程序时使用
Golang
开发,用到GORM来操作SQLite数据库,GORM默认使用gorm.io/
beyond阿亮
·
2024-02-02 07:51
golang
golang
sqlite
cgo
goLang
如何开发 windows 窗口界面
不用说下get一下这个pack下了再说gogetgithub.com/lxn/walkget下来后访问了一下github页面看了一下作者的说明Walk是一个写给
Golang
的Window应用程序库套件,
dodod2012
·
2024-02-02 07:11
)
golang
网络编程day6(结)
golang
网络编程day6
golang
websocket编程
golang
rpc编程最终总结
golang
websocket编程什么是websocket?,和socket是一回事吗?
TOMOT77
·
2024-02-02 06:55
golang
网络
开发语言
golang
网络编程day1
golang
网络编程学习day1网络编程网络编程常用协议网络分层:DNSsocket客户端和服务器模型UDP和TCP区别会话sessionCookiehttpsGo网络编程分类Go网络编程库day1总结网络编程三个主要方面
TOMOT77
·
2024-02-02 06:24
golang
网络
开发语言
golang
网络编程day3
golang
网络编程day3
golang
TCP聊天室
golang
UDP聊天室URL组成
golang
URL编程
golang
http编程http请求方法
golang
http框架
golang
TCP聊天室看懂例子把它理解好
TOMOT77
·
2024-02-02 06:24
golang
网络
开发语言
golang
网络编程day4
golang
网络编程day4get和post的区别resful编程
golang
请求头
golang
header内容类型和字符编码http请求头缓存和过期应用
golang
请求头跨域请求应用http请求头用户代理应用
TOMOT77
·
2024-02-02 06:24
golang
网络
开发语言
golang
网络编程day2
golang
网络编程day2
golang
socket编程
golang
TCP编程
golang
TCP流行框架
golang
游戏服务器框架
golang
udp编程今天的学习主要注重实践,有了昨天的理论基础,今天的目的就是看例子懂例子
TOMOT77
·
2024-02-02 06:54
golang
网络
开发语言
golang
网络编程day5
golang
网络编程day5
golang
cookie实现记住我功能
golang
cookie实现购物车功能
golang
cookieCSRF防御应用
golang
session
golang
session用户身份验证应用
TOMOT77
·
2024-02-02 06:21
golang
网络
后端
2018-03-01 为什么fmt.Sprint(e)会使程序陷入死循环
对照着https://tour.go-zh.org/list指南学习
golang
然后做练习题,这里是来自于其他同学总结的练习的参考答案http://study
golang
.com/articles/4945
lucasdada
·
2024-02-02 03:35
小米商城服务治理之客户端熔断器(Google SRE客户端熔断器)
目录前言一、什么是GoogleSRE熔断器二、GoogleSRE熔断器的工作流程:三、客户端熔断器(googleSRE熔断器)
golang
GRPC实现四、客户端熔断器(googleSRE熔断器)
golang
GRPC
xingjigongsi
·
2024-02-02 03:37
网络
google
sre
grpc
客户端
熔断器
15.
Golang
中的反射机制及应用
目录概述实践基本应用复杂应用结束概述
Golang
中的反射用法还是比较简单的reflect.TypeOf(arg)reflect.ValueOf(arg)实践基本应用packagemainimport("
流月up
·
2024-02-02 02:21
go
golang
go
反射机制
应用
组件分享之后端组件——基于
Golang
的数据库集群系统vitess
组件分享之后端组件——基于
Golang
的数据库集群系统vitess背景近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件
cn華少
·
2024-02-02 01:45
GO——waitgroup
参考:https://study
golang
.com/articles/12972背景父协程需要等待子协程完成https://blog.csdn.net/cdq1358016946/article/details
媛媛家的程序员
·
2024-02-01 22:44
golang
后端
并发
如何在
Golang
中使用 crypto/ed25519 进行数字签名和验证
如何在
Golang
中使用crypto/ed25519进行数字签名和验证引言`crypto/ed25519`算法简介环境搭建和准备工作生成密钥对进行数字签名验证签名实际应用场景案例总结引言在当今数字化时代
walkskyer
·
2024-02-01 21:27
golang标准库
golang
网络
开发语言
Golang
的数字签名之旅:crypto/ecdsa库详解
Golang
的数字签名之旅:crypto/ecdsa库详解引言crypto/ecdsa库概览基本功能安装和设置使用场景ECDSA原理简介椭圆曲线密码学基础ECDSA的工作原理安全性考虑
Golang
中ECDSA
walkskyer
·
2024-02-01 21:57
golang标准库
golang
python
开发语言
Golang
语言异常机制解析:错误策略与优雅处理
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站https://www.captainbed.cn/kitie。前言作为开发者来说,我们没办法保证程序在运行过程中永远不会出现异常,对于异常,在很多编程语言中,可以用try-catch语句来捕获,而Go语言的开发者显然觉得try-catch被滥用了,因此Go不支持使用try-catch语句捕获异常处理。
鼠鼠我捏,要死了捏
·
2024-02-01 20:43
golang
开发语言
后端
云原生
安全
探索Viper-适用于
GoLang
的完整配置解决方案
而Viper库为
Golang
语言开发者提供了对不同数据源和不同格式的配
鼠鼠我捏,要死了捏
·
2024-02-01 20:11
golang
开发语言
后端
viper
修剪二叉搜索树|108.将有序数组转换为二叉搜索树|538.把二叉搜索树转换为累加树|
Golang
代码随想录day23事物是运动的时间是流逝的669.修剪二叉搜索树给定一个二叉搜索树,同时给定最小边界L和最大边界R。通过修剪二叉搜索树,使得所有节点的值在[L,R]中(R>=L)。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。思路:相信看到这道题目大家都感觉是一道简单题。但还真的不简单!递归法:直接想法就是:递归处理,然后遇到root->valval>high的时候直
编程练习时长两年半
·
2024-02-01 20:56
代码随想录训练营|算法基础
leetcode
golang
数据结构
算法
MIT6.5830 Lab1-Go tutorial实验记录(一
MIT6.5830Lab1-Gotutorial实验记录(一)–WhiteNight'sSite标签:
Golang
,数据库编写一个简单的httpserver。
White--Night
·
2024-02-01 19:36
GO语言
golang
数据库
http
MIT6.5830 Lab0-Go tutorial实验记录(二)
MIT6.5830Lab0-Gotutorial实验记录(二)–WhiteNight'sSite标签:
Golang
,数据库在将数据库的数据转换为图表前,我们需要先测试是否能正常访问数据库文件。
White--Night
·
2024-02-01 19:36
GO语言
golang
开发语言
后端
MIT6.5830 实验0
前置本次实验使用
Golang
语言实现,在之前的年份中,都是像cs186那样使用Java实现。原因:
Golang
语言作为现代化语言,简单易上手但功能强大。
一颗小小的石头.
·
2024-02-01 19:00
MIT6.5830
数据库开发
mit课程
Golang
CI-Lint配置变更实践
Golang
CI-Lint配置变更实践
Golang
编程中,为了便于调试和代码质量和安全性检查。利用该方法可以在开发周期的早期捕获错误,并且检查团队编程风格,提高一致性。
=(^.^)=哈哈哈
·
2024-02-01 19:51
golang
Golang
学习日志 ━━ Go 常用包整理及介绍
一、Go标准库可以大致按其中库的功能进行以下粗略的分类输入输出包括二进制以及文本格式在屏幕、键盘、文件以及其他设备上的输入输出等,比如二进制文件的读写。对应于此分类的包有bufio、fmt、io、log和flag等,其中flag用于处理命令行参数。文本处理包括字符串和文本内容的处理,比如字符编码转换等。对应于此分类的包有encoding、bytes、strings、strconv、text、mim
暂时先用这个名字
·
2024-02-01 19:50
Golang
golang
go
go语言
golang
防止MySQL注入_防止SQL注入解决方案
SQL注入就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。对于很多网站都有用户提交表单的端口,提交的数据插入MySQL数据库中,就有可能发生SQL注入安全问题,那么,如何防止SQL注入呢?针对SQL注入安全问题的预防,需时刻认定用户输入的数据是不安全的,并对用户输入的数据进行过滤处理,对不同的字段进行条件限制,符合条件的可以写入数据
狗哥老司机
·
2024-02-01 19:50
golang防止MySQL注入
Golang
系列中常用包
一、常用包常用包说明常用函数fmt实现格式化的输入输出操作,其中的fmt.Printf()和fmt.Println()是开发者使用最为频繁的函数。io实现了一系列非平台相关的IO相关接口和实现,比如提供了对os中系统相关的IO功能的封装。我们在进行流式读写(比如读写文件)时,通常会用到该包。bufio它在io的基础上提供了缓存功能。在具备了缓存功能后,bufio可以比较方便地提供ReadLine之
wilson_go
·
2024-02-01 19:19
golang
Golang
防止注入常用方法
Golang
防止注入常用方法在
Golang
中,可以通过使用参数化查询或者ORM(对象关系映射)来防止SQL注入。1、参数化查询:当构建SQL语句时,将变量作为参数传递而不直接拼接到字符串中。
=(^.^)=哈哈哈
·
2024-02-01 19:18
golang
开发语言
后端
利用接口实现多态
Golang
的接口是实现多态的关键。通过定义合适的接口,您可以编写通用的代码逻辑,以适应不同的具体实现。这样可以提高代码的灵活性和可扩展性。
初于青丝mc终于白发
·
2024-02-01 18:18
GO语言
GOLang
技巧
go
开发语言
青少年编程
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他