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
php 高并发,
Golang
百万级高并发实例
前言基础我们使用Go语言,基本上是因为他原生支持的高并发:Goroutine和Channel;Go的并发属于CSP并发模型的一种实现;CSP并发模型的核心概念是:“不要通过共享内存来通信,而应该通过通信来共享内存”。简单用法我一开始学习Go语言的时候,遇到大访问量的时候,会先创建一个带缓冲的channel,然后起一个Go协程来逐个读取channel中的数据并处理。说他是并发是因为他没有占用主线程,
Maqiu467
·
2024-01-21 12:16
golang
php
高并发
go 比 java 并发高_
golang
百万并发-
golang
的并发性真的比Java高吗
使用了两种语言,但没有开发相同的业务。然而,在目前的业务下,GO性能已经得到了具体的测试,而不会太担心GO性能,据说即将到来的GO1、5将再次提高性能太多。其实还是很喜欢GO语言,简单,实用,并且适合大规模并发。围棋学习阈值低于java。如果担心gc影响实时,也可以申请大量内存做自己的内存管理。也许JavaGC更好,去不够。去并发比较好,Java达到同样效果,回调写死。真的很想知道,只是考验自己。
游志军
·
2024-01-21 12:16
go
比
java
并发高
Golang
学习二十二(Go 并发)
文章目录1.基本概念2.sync.WaitGroup3.goroutine和线程4.channel5.无缓冲通道和缓冲通道6.案例:生产者和消费者模型7.select多路复用8.单向通道9.并发控制和锁(1)互斥锁(2)读写互斥锁(3)sync.Once(4)sync.Map(5)定时器1.基本概念并发:是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行
公博义
·
2024-01-21 12:45
golang
云计算
devops
golang
学习
开发语言
golang
使用 context 进行并发控制(转)
转自以下两篇文章:并发控制-context篇、Go通关11:并发控制神器之Context1.前言context翻译成中文是”上下文”,即它可以控制一组呈树状结构的goroutine,由于goroutine派生出子goroutine,而子goroutine又继续派生新的goroutine,这种情况下使用WaitGroup就不太容易,因为子goroutine个数不容易确定,甚至如果需要定时取消又怎么办
Lucky小黄人
·
2024-01-21 12:44
golang
java
sql
开发语言
后端
如何实现支持数亿用户的长连消息系统 |
Golang
高并发案例
360消息系统介绍360消息系统更确切的说是长连接push系统,目前服务于360内部多个产品,开发平台数千款app,也支持部分聊天业务场景,单通道多app复用,支持上行数据,提供接入方不同粒度的上行数据和用户状态回调服务。目前整个系统按不同业务分成9个功能完整的集群,部署在多个idc上(每个集群覆盖不同的idc),实时在线数亿量级。通常情况下,pc,手机,甚至是智能硬件上的360产品的push消息
蚯蚓也自由
·
2024-01-21 12:41
网络编程
系统维护
编程
socket
linux
并发
go
go里面几个并发案例
1、用
golang
写一个消息队列,通过channel多协程实现,一个写队列多个读队列typeMessageQueuestruct{musync.Mutexqueuechanstringreaders[]
IT民工锦里
·
2024-01-21 12:10
go打卡学习集合
golang
开发语言
后端
GoLang
刷题之leetcode
题目46:全排列题目描述:给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。题解:funcpermute(nums[]int)[][]int{res,r:=[][]int{},[]int{}iflen(nums)==1{res=append(res,nums)returnres}backTracking(&res,r,nums)returnres}funcbac
牛保实
·
2024-01-21 12:10
leetcode
算法
职场和发展
golang
入门极简教程
基本语法常量常量可以类比于java中的final变量,必须在初始化时复制,不可以修改,不可以使用:=packagemainimport"fmt"//全局常量consta="hello"constb=1funcmain(){//局部常量constc=truefmt.Println(a)test()fmt.Println(c)}functest(){fmt.Println(b)}变量变量的声明方式有一
飞翔的意大利炮
·
2024-01-21 10:06
最长公共前缀
Golang
版
LeetCode14.最长公共前缀
Golang
版1.问题描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串“”。
皮卡猴
·
2024-01-21 09:40
leetcode刷题
leetcode
go
Golang
中逃逸现象-变量何时 栈何时堆
变量的逃逸现象将⼀个局部变量的地址返回给上层函数,依然能够访问,那么这个局部变量产⽣的了逃逸现象,当前变量应该并没有分配到栈上。packagemain//inline内联函数funcfoo(arg_valint)*int{varfoo_val1int=11varfoo_val2int=12varfoo_val3int=13varfoo_val4int=14varfoo_val5int=15//目的
剩下的盛夏~
·
2024-01-21 09:30
Go
Golang
中高级工程师学习笔记
闭包的作用闭包(Closure)是一种函数值,它可以引用在其外部定义的变量。闭包允许这些变量保持在函数内部,而不是被每次调用时重新创建。闭包的作用主要体现在以下几个方面封装:闭包允许函数访问其外部作用域中的变量,形成了一种封装。这意味着可以在闭包内部定义私有的状态,并且只有闭包内部的函数可以访问这些状态。这提供了一种保护数据的机制,防止其被外部直接修改。funccounter()func()int
剩下的盛夏~
·
2024-01-21 09:24
Go
golang
学习
笔记
gin中使用JWT
1.jwt使用安装gogetgithub.com/
golang
-jwt/jwt/v4默认Claim如果我们直接使用JWT中默认的字段,没有其他定制化的需求则可以直接使用这个包中的和方法快速生成和解析token
leellun
·
2024-01-21 08:45
gin从入门到实践
gin
gin介绍及helloworld
1.介绍Gin是一个
golang
的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点对于
golang
而言,web框架的依赖要远比Python,Java之类的要小。
leellun
·
2024-01-21 08:15
gin从入门到实践
gin
Golang
卡码网55 右旋字符串 切片拷贝问题补充
右旋字符串55卡码网关于go中切片的拷贝问题:通过[:]的方式进行赋值的方式,如b:=a[:2],由于其共享底层的数组,所以说修改其中之一,另一个也是受影响的,为浅拷贝切片如果想要实现深拷贝,需要使用**copy**packagemainimport"fmt"funcmain(){//1.使用递归?//2.从头开始遍历,但是从第k个开始写入/*fori,b:=rangemiddle{}*///3.
鳄梨阿龙
·
2024-01-21 08:45
golang
开发语言
后端
Golang
通脉之结构体
Go语言中的基础数据类型可以表示一些事物的基本属性,但是要表达一个事物的全部或部分属性时,这时候再用单一的基本数据类型明显就无法满足需求了,Go语言提供了一种自定义数据类型,可以封装多个基本数据类型,这种数据类型叫结构体,英文名称struct。也就是可以通过struct来定义自己的类型了。Go语言中通过struct来实现面向对象。结构体的定义Go语言中数组可以存储同一类型的数据,但在结构体中我们可
drunkery
·
2024-01-21 08:51
数据库设计最佳实践:学院个人信息管理系统中的MySQL优化
专业做Java、Python、微信小程序、安卓、大数据、爬虫、
Golang
、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!
计算机编程指导师
·
2024-01-21 05:36
大数据实战集
Java实战集
Python实战集
数据库
mysql
spring
boot
java
vue.js
课程设计
学院个人信息
洋州影院购票系统:如何用Java、Spring Boot、Vue和MySQL实现现代化管理
专业做Java、Python、微信小程序、安卓、大数据、爬虫、
Golang
、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!
计算机编程指导师
·
2024-01-21 05:36
Python实战集
Java实战集
大数据实战集
java
spring
boot
vue.js
前端
javascript
django
影院购票
全面解析:学生宿舍管理系统的数据库设计与实现
专业做Java、Python、微信小程序、安卓、大数据、爬虫、
Golang
、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!
计算机编程指导师
·
2024-01-21 05:35
大数据实战集
Java实战集
Python实战集
数据库
java
spring
boot
vue.js
课程设计
mysql
宿舍
揭秘:Java、Spring Boot、Vue 和 MySQL 在学生信息管理系统中的应用
专业做Java、Python、微信小程序、安卓、大数据、爬虫、
Golang
、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!
计算机编程指导师
·
2024-01-21 05:34
Python实战集
Java实战集
大数据实战集
java
spring
boot
vue.js
数据库
前端
mysql
学生信息
【基础算法练习】快速排序模板
文章目录快排模板题我使用的快排模板C++版本的快排
Golang
版本的快排为什么学习快排快排模板题第一道题,所有排序都适合在这里练习:912.排序数组第二道题,适合快排和堆排:215.数组中的第K个最大元素我使用的快排模板我使用的是双指针版本的快排
戊子仲秋
·
2024-01-21 04:55
基础算法练习
算法
kali安装go环境
一、下载1、
Golang
的官网下载。
咸鱼咸菜
·
2024-01-21 03:29
kali
开发语言
后端
golang
006
Golang
-channel-practice 并发打印字符串
使用两个goroutine,向标准输出中按顺序交替打印出字母和数字,输出是a1b2c3...这里我们使用两个channel保证它们打印的顺序。使用两个通道(channel)是确保打印顺序的一个有效方法,尤其是在涉及到交替执行的并发任务时。在我们的场景中,目标是让两个goroutine交替执行并打印字符和数字。使用两个通道可以精确地控制它们的执行顺序。funcmain(){varwgsync.Wai
Kyookk
·
2024-01-21 01:56
Golang
golang
开发语言
005
Golang
-channel-practice 打印ABC
第五题顺序打印ABC依然是,一个协程打印A,一个协程打印B,一个协程打印C。按照上一题左右括号的例子,我们来试一下这题~直接上代码:packagemainimport("fmt""sync")funcmain(){for{times:=1c:=make(chanstruct{})d:=make(chanstruct{})varwgsync.WaitGroupwg.Add(1)goprintA(c,
Kyookk
·
2024-01-21 01:26
Golang
golang
开发语言
Gin之gin介绍和安装
Gin是一个用Go(
Golang
)编写的HTTPweb框架。它是一个类似于martini但拥有更好性能的API框架,由于httprouter,速度提高了近40倍。如果你需要极好的性能,使用Gin吧。
242030
·
2024-01-20 22:26
gin
gin
golang
利用redis和gin实现保存登录状态,校验登录
保存用户登录状态,一般常用的方式有两种一、生成token,然后token保存到数据库用户表里面,每次登录的时候,自动更新,容纳后每次用的时候,去取出来校验,这种方式,数据库压力大,而且不是很灵活二、每次登录生成token,然后token保存到Redis缓存中,每次都去校验,不仅快速,而且,数据库压力也小1.启动时候,加载Redis项2、Redis(附带参数文件)前期准备工作好之后1、路由,利用路由
牧童牵黄牛
·
2024-01-20 20:09
golang
gin
redis
golang
【
Golang
实现文件服务器】(二)图片去重与缩略图功能
距离第一次写这个文章已经很久了。这段时间里基于常用的应用场景,进一步丰富了文件服务器的功能。主要做了如下工作:现在可以自动检查重名文件是否重复,并自动重命名。现在可以提供三种缩放方式获取缩略图优化了代码结构很惭愧,就做了这三个微小的工作。###文件去重基于现有的应用场景,首先要求便于部署,其次对存储效率及性能要求不高。在此前提下不适用适用数据库的方式管理文件。所以去重工作仅限于重名相同文件的去重与
weixin_34228662
·
2024-01-20 19:40
golang
json
数据库
Go 常见报错 - VsCode运行go:go.mod file not found
与
golang
的包管理有关 如果你是Windows系统,打开dos界面,输入以下命令goenv-wGO111MODULE=autot GO111MODULE是Go1.11引入的新版模块管理方式。
Adorable老犀牛
·
2024-01-20 19:54
Golang
golang
vscode
开发语言
67.基于控制流编程,优化Go代码可读性
文章目录一:简介二、代码整洁小技巧:基于控制流编程三、总结代码地址:https://gitee.com/lymgoforIT/
golang
-trick/tree/master/40-clean-code-controll-flow
百里守约学编程
·
2024-01-20 18:58
go
golang
开发语言
后端
69.使用Go标准库compress/gzip压缩数据存入Redis避免BigKey
ConstantsVariablestypeHeadertypeReader三:代码实践1、压缩与解压工具包2、单元测试3、为何压缩后还要用base64编码代码地址:https://gitee.com/lymgoforIT/
golang
-trick
百里守约学编程
·
2024-01-20 18:58
go
golang
redis
开发语言
Golang
依赖管理
在go中有两个非常重要的环境变量:GOROOT:
golang
的安装路径,Linux下默认会安装在/usr/local/go之下GOPATH:存放SDK以外的第三方类库;收藏的可复用的代码,包含三个子目录
校长_x
·
2024-01-20 15:18
golang
主线程等待子线程执行完成
packagemainimport("fmt""sync")funcmain(){varwgsync.WaitGroupwg.Add(3)gofunc(){deferwg.Done()fmt.Println("线程1执行完成")}()gofunc(){deferwg.Done()fmt.Println("线程2执行完成")}()gofunc(){deferwg.Done()fmt.Println(
失去的青春---夕阳下的奔跑
·
2024-01-20 15:49
golang
开发语言
后端
使用
golang
对接微软Azure AI翻译
文章目录一、官方地址二、准备工作三、代码示例一、官方地址https://learn.microsoft.com/zh-CN/azure/ai-services/translator/translator-text-apis?tabs=go二、准备工作创建服务创建服务连接地址:https://portal.azure.com/#create/Microsoft.CognitiveServicesTe
李子木、
·
2024-01-20 14:10
功能实现
golang
机器翻译
自动翻译
Golang
开发工具
Golang
开发工具1.GolandGoland是一个Go语言IDE下载地址:https://www.jetbrains.com/go/download/#section=windows2.VSCode
风萧萧兮s
·
2024-01-20 13:31
go语言
golang
ide
Go语言基础(
Golang
快速上手示例)
目录打包exeWindows打包Linux打包Mac打包赋值工程示例-文件解压工程示例-文字信息转发钉钉机器人(模块)打包exe下载
golang
安装包,msi文件简单安装https://go.dev/dl
Cy大秦
·
2024-01-20 11:23
编程
golang
windows
Go语言基础突破(一)——基础语法快速上手
文章目录一、本次学习重点内容:二、详细知识点介绍:1、什么是Go语言特点:2、为什么字节跳动全面使用go语言:3、开发环境——安装
Golang
:4、推荐编辑器:VScode、Goland5、基础语法1、
爱打辅助的小可爱
·
2024-01-20 11:23
GO学习之路
golang
开发语言
后端
并发组件 | Go设计模式实战
嗯,Go设计模式实战系列,一个设计模式业务真实使用的
golang
系列。前言本系列主要分享,如何在我们的真实业务场景中使用设计模式。本系列文章主要采用如下结构:什么是「XX设计模式」?
TIGERB_Blog
·
2024-01-20 11:50
设计模式
go
java
linux
编程语言
[面试题~]
Golang
3.数组和切片3.1数组和切片的区别Go语言中数组是固定长度的,不能动态扩容,在编译期就会确定大小。切片是一种数据结构,包含一个底层数组的指针,当前切片个数len以及切片的最大容量cap,描述的是一块数组。3.2切片的扩容策略切片的扩容都是调用growslice方法,不同版本,扩容机制也有细微差距。Go1.17版本,切片在扩容时会进行内存对齐,这个和内存分配策略相关。进行内存对齐之后,新slice
程序员三木
·
2024-01-20 11:20
大后端
golang
开发语言
后端
100天精通鸿蒙从入门到跳槽——第8天:TypeScript 知识储备:泛型
《100天精通
Golang
》—Go语言学习之旅!《100天精通鸿蒙》—从Web/安卓到鸿蒙大师!
猫头虎
·
2024-01-20 10:23
harmonyos
跳槽
typescript
华为
javascript
安卓
猫头虎
frp实现内网穿透
二、使用步骤1.需要两台服务器云上服务器1.15.180.135本地服务器192.168.1.482、下载frp和go语言(基于)go语言地址:https://
golang
.org/doc/install
net1193379199
·
2024-01-20 09:13
frp实现内网穿透
网络
github
动手搓一个kubernetes管理平台(4)-操作kubernetes
golang
有一个好处是操作kubernetes很方便,因为有万能的clientset,clientset本质上是一个client的集合typeClientsetstruct{*discovery.DiscoveryClientadmissionregistrationV1
钟大發
·
2024-01-20 07:53
从零开始写一个k8s管理平台
kubernetes
golang
云原生
golang
实现热更新的常规方式
写完之后经常要修修改改加一些新功能,产线服务器数量就很多,导致了每次更新都是个大动作,目前的做法是通过puppet管理,新版本就往puppet上丢,等他自动重启即可,由此联想到了老东家游戏服务的热加载,所以看了一下
golang
钟大發
·
2024-01-20 07:23
Go
Golang
之 WaitGroup 源码解析
前言如果我们有一个大的任务要做,我们会尝试将这个任务分解,分解完成之后并发交由goroutine去做,并且我需要当全部的任务完成之后再进行下面的步骤,在sync包下,就有这样一个东西适合上述情况,WaitGroup,今天我们来看看具体它是怎么实现的。PS:在下面我统一用wg来简称WaitGroup使用它的使用非常简单,如下:funcmain(){wg:=sync.WaitGroup{}fori:=
LinkinStar
·
2024-01-20 07:00
100天精通鸿蒙从入门到跳槽——第7天:TypeScript 知识储备:接口
《100天精通
Golang
》—Go语言学习之旅!《100天精通鸿蒙》—从Web/安卓到鸿蒙大师!
猫头虎
·
2024-01-20 06:15
harmonyos
跳槽
typescript
华为
javascript
安卓
猫头虎
Golang
搭建 WebSocket 应用(五) - 消息推送日志
从上一篇开始,好像我们已经脱离了WebSocket的技术范畴了,但是我们可能也意识到了,WebSocket技术本身并不复杂,我们也很容易地使用它实现了一个消息推送的雏形。复杂的是,早我们使用它来实现一些功能的时候,需要考虑的非技术性的问题,或者说非功能性的需求。蔡超的《十年架构感悟》里面提到过一点:非功能性需求决定架构(在极客时间上可以搜索到)。非功能性需求包括性能、伸缩性、可扩展性、可维护性等。
白如意i
·
2024-01-20 06:38
go
golang
websocket
开发语言
Golang
搭建 WebSocket 应用(四) - jwt 认证
在上一篇文章中,我们已经搭建起了基本可用的一个WebSocket推送中心,但是有一个比较大的问题是,我们并没有对进行连接的客户端进行认证,这样就会有一定的风险,如果被恶意攻击,可能会影响我们的WebSocket服务器的正常运作。本文我们就来把认证这个很关键的功能给补一下,在本文中,我们将会使用jwt来对我们的客户端进行认证。什么是jwt?JWT是JSONWebToken的缩写,是一种用于在网络中安
白如意i
·
2024-01-20 06:38
go
golang
websocket
开发语言
知识分享之
Golang
——Bleve的NewIndexMapping解析
知识分享之
Golang
——Bleve的NewIndexMapping解析背景知识分享之
Golang
篇是我在日常使用
Golang
时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习
cn華少
·
2024-01-20 05:15
go 语言(九)----struct
packagemainimport"fmt"//定义一个结构体typeBookstruct{titlestringauthstring}funcmain(){varbook1Bookbook1.title="
Golang
"book1
归来少年Plus
·
2024-01-20 01:30
golang
开发语言
后端
【
golang
】结构体与json相互转换,map与json相互转换
一.结构体转json,使用json.Marshal()返回值([]byte,error)packagemainimport("encoding/json""fmt")typeStudentstruct{NamestringAgeintGenderbyteSubject[]string}funcmain(){s:=Student{"XiaoMing",15,'M',[]string{"数学","语文
七八个星天
·
2024-01-20 00:08
golang
学习-channel管道
1、定义管道是
golang
语言提供的goroutine间的通讯方式,channel可以让一个goroutine发送特定的值给另一个goroutine的通讯机制。管道是引用类型。
蛋蛋wqt
·
2024-01-19 22:23
golang学习
golang
学习
开发语言
golang
学习-goroutine
1、goroutine协程goroutine是Go语言支持并发的核心,一个goroutine会以一个很小的栈开始其生命周期,一般只需要2KB。区别于操作系统线程由系统内核进行调度,goroutine是由Go运行时(runtime)负责调度。例如Go运行时会智能地将m个goroutine合理地分配给n个操作系统线程,实现类似m:n的调度机制,不再需要Go开发者自行在代码层面维护一个线程池。gorou
蛋蛋wqt
·
2024-01-19 22:51
golang学习
golang
学习
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
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
其他