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
管道channel顺序执行报错deadlock
当
golang
顺序执行时,会报错fatalerror:allgoroutinesareasleep-deadlock!
zuoye1010
·
2023-11-08 00:26
golang
go
golang
开发语言
后端
golang
学习笔记--管道 channel
目录【1】定义一个管道【2】向管道写入数据【3】从管道读取数据【4】使用空接口的管道【5】关闭管道【6】遍历管道【7】协程和管道的应用例子【8】管道阻塞【9】管道多路复用【1】定义一个管道packagemainimport"fmt"funcmain(){//定义一个管道只能存入int类型的数据varintChanchanint//管道必须make才能使用intChan=make(chanint,3
xxzed
·
2023-11-08 00:55
golang
#
学习笔记
golang
学习
笔记
开发语言
后端
golang
的chan(管道)
golang
的chan翻译成中文就是管道,顾名思义,就是管道的一端用来读,另一端用来写,这与write和read函数的性质是非常相似的,比如说管道中没数据,就会发生读阻塞,管道中数据是满的,就会发生写阻塞
中二的灰太狼
·
2023-11-08 00:54
笔记
golang
开发语言
后端
golang
有名管道通信 总结分析
1
golang
通过namedpipes实现IPC通信
golang
基于namedpipes实现进程间的IPC通信可以单独使用gowrite()或goread()方法write()是非阻塞的,read()是阻塞的
HehuaTang
·
2023-11-08 00:54
java/python/go
golang
Golang
——管道、groutine、同步
一、groutine为了实现并发,产生groutine带来的问题:各种并发带来的访问竞争解决办法:各种并发原语/同步方式1、加锁,即通过共享内存来通信互斥锁sync.Mutex读写锁sync.RWMutex2、waitgroup:可以控制一组groutine同时运行并等待结果返回之后再进行后续操作add增加计数器done减少计数器wait判断计数器值进行阻塞踩坑1:wg传递为指针类型wait阻塞的
凭什么我芒果过敏
·
2023-11-08 00:53
Golang
golang
Golang
管道(channel)及其应用
管道(channel)全局变量加锁解决程序同步问题packagemainimport("fmt""sync""time")//需求:现在要计算1-200的各个数的阶乘,并且把各个数的阶乘放入到map中。//最后显示出来。要求使用goroutine完成//思路://1,编写一个函数,来计算各个数的阶乘,并放入到map中.//2.我们启动的协程多个,统计的将结果放入到map中//3.map应该做出一个
~庞贝
·
2023-11-08 00:22
Golang
golang
开发语言
后端
Golang
并发(Go程、管道)
文章目录基础return、exit、goexit区别returnexitgoexit多go程通信(channel)管道的注意点管道nil管道死锁forrange遍历管道判断管道是否已经关闭单向通道管道监听(select)管道总结基础并发:电脑同时听歌,看小说,打游戏。cpu根据时间片进行划分,交替执行这三个程序。我们可以感觉是同时产生的。并行:多个cpu(多核)上述动作同时执行C语言:,实现并发过
Simple Han
·
2023-11-08 00:22
golang
golang
-操作系统-同步&管道&匿名管道&内存管道
十、同步1.计数器案例,同一个程序开俩个进程A和进程B。并发执行把数据库中符合条件的记录迁移到磁盘。用计数器记录当前被处理的最大行号。1.第一步,读取计数器的值C2.第二步,从数据库中读取C+10000行数据。3.第三步,遍历符合条件的数据,并形成新的数据集合4.第四步,将新的数据集合存储到哦指定目录文件中。5.第五步,把计数器值+100006.检查数据是否全部处理完成。是则退出,否则从第一步开始
小哥(xpc)
·
2023-11-08 00:50
操作系统
golang
linux
开发语言
Golang
的chan阻塞测试
1,
golang
的通道(chan)可分为不带缓存的通道和带缓存的通道。用make函数创建通道的时候,如果不指定缓存大小,创建的就是不带缓存的通道。2,通道是一个类型化消息队列。
luo2pei4
·
2023-11-08 00:50
Go语言
golang
golang
数据结构初探之管道chan
golang
数据结构初探之管道chan管道是go在语言层面提供的协程之间的通信方式,比unix的管道更易用也更轻便。
董洪臣
·
2023-11-08 00:19
go
go
go语言
数据结构
golang
-select解决管道数据阻塞问题
packagemainimport"fmt"funcmain(){//使用select解决管道取数据导致的阻塞问题//1.定义一个管道10个数据intintChan:=make(chanint,10)fori:=0;i<10;i++{intChan<-i}//2.定义一个管道,5个数据stringstringChan:=make(chanstring,5)fori:=0;i<5;i++{strin
SakuraKizuna
·
2023-11-08 00:19
golang
golang
开发语言
后端
golang
管道chan
packagemainimport("fmt""time")funcmain(){//test2()test4()time.Sleep(time.Second)}functest1(){//这个地方注意make的时候指定了管道的容量12,假如说只是向管道里面塞数据不取的话//最多塞12个数据就堵塞住了。如果一边塞数据一边取数据,保证管道中始终有空闲位置的话//那就可以一直塞数据不会陷入阻塞状态qu
Binary_1012382501
·
2023-11-08 00:19
golang协程
golang
Golang
管道笔记
管道channelpackagemainimport("fmt""time")funcmain(){//管道在Go中也是一种数据类型,定义时需要给其确定一种数据类型(chan)引用数据类型//管道遵循先入先出//数据量超过管道容量会死锁报错,从没有数据的管道中取数据也会死锁报错//1、建立一个管道channel:=make(chanint,3)//要指定管道容量如果数据量超过这个容量,管道阻塞则会
文轩。
·
2023-11-08 00:49
golang
go
golang
channel 阻塞与非阻塞区别
分析发送chanel的过程1、非阻塞模式if!block{unlock(&c.lock)returnfalse}非阻塞模式下,在c.qcount>=c.dataqsiz时候,也就是在channel满的时候直接返回非阻塞模式实现是用selectvarcchanselect{case->c:fmt.Printf("Helloworld")default:fmt.Printf("Hellodefault
akspusd
·
2023-11-08 00:48
golang
golang
golang
非阻塞读写channel
golang
的channel读或写是会造成阻塞的,但是可以用select的多路复用解决这个问题。
BanFS
·
2023-11-08 00:48
golang
golang
golang
的管道阻塞问题
packagemainimport("fmt""sync"//"time")varwgsync.WaitGroupfuncwriteData(intchanchanint){deferwg.Done()fori:=1;i<=9;i++{intchan<-ifmt.Println("写入的数据为:",i)//time.Sleep(time.Second)}close(intchan)}funcrea
人生30一道坎
·
2023-11-08 00:15
golang
服务器
前端
golang
工程——中间件redis,单节点集群部署
单节点redis集群部署部署redis6.2.7版本没资源,就用一台机子部解压安装包tarzxfredis-6.2.7.tar.gzcdredis-6.2.7编译安装mkdir-p/var/local/redis-6.2.7/{data,conf,logs,pid}data:数据目录conf:配置文件目录logs:日志目录pid:redis进程文件目录makemakeinstallPREFIX=/
咚伢
·
2023-11-07 20:18
golang
中间件
redis
golang
工程中间件——redis常用结构及应用(string, hash, list)
Redis命令中心【
golang
工程中间件——redisxxxxx】这些篇文章专门以应用为主,原理性的后续博主复习到的时候再详细阐述string结构以及应用字符数组,redis字符串是二进制安全字符串,
咚伢
·
2023-11-07 20:42
golang
中间件
redis
Gin框架入门实战系列教程之Gin环境搭建 Gin程序的热加载 Gin路由 GET POST PUT DELETE
框架入门实战系列教程之Gin环境搭建Gin程序的热加载Gin路由GETPOSTPUTDELETE主讲教师:(大地)在线文档见网盘下载:百度网盘请输入提取码提取码:abcd一、Gin介绍Gin是一个Go(
Golang
yuanlaile
·
2023-11-07 19:04
gin
golang
:打包静态文件
对于Go语言开发者来说,在享受语言便利性的同时,最终编译的单一可执行文件也是我们所热衷的。但是,Go在编译成二进制文件时并没有把我们的静态资源文件编译进去,如果我们开发的是web应用的话就需要想办法把我们的静态文件也编译进去。本文收集了一些Go语言中用来在编译过程中将静态文件打包到编译文件的方法。go-bindata在Go语言的Awesome中你可以看到很多静态打包库,但是,你却看不到go-bin
OceanStar的学习笔记
·
2023-11-07 19:02
golang
gin加载模板
gin加载模板,例如app/template/activitydetail.tmpl错误使用"app/template/activitydetail.tmpl",直接在c.HTML中声明路径,
golang
weixin_39366520
·
2023-11-07 19:28
golang/gin
golang
开发语言
后端
Golang
Gin embed static 静态文件嵌入
Golang
Ginembed静态文件嵌入需求改进思路a).Gin文档静态资源嵌入方案b).Gin自带方法代码效果c).改进1.自带http库做法2.查看ginstaticfs源码3.最终解决方案需求用Gin
LeoForBest
·
2023-11-07 19:47
Web服务器
Golang
golang
后端
开发语言
【Gin】HTML 的模板渲染与静态资源文件的加载
的模板渲染全部模板放在一个目录里面的配置方法模板放在不同目录里面的配置方法Gin模板基本语法1、{{.}}输出数据2、变量3、比较函数4、条件判断5、Range6、With9、自定义模板函数嵌套template静态文件的加载作者的Gin框架学习是根据B站视频Gin教程_
Golang
Koya1_c
·
2023-11-07 19:46
Gin
gin
dreamweaver
golang
Golang
结构体数组、按结构体中的某些字段进行排序
Go语言中的sort包帮我们实现了对任一类型的数组进行排序。对于将要排序的数组类型只需要我们实现下面三种方法:typeInterfaceinterface{Len()int//数组长度Less(i,jint)bool//两个元素的大小比较Swap(i,jint)//交换两个元素}下面我们简单看下sort.Sort源码,着急忙慌被老板催着赶进度的,可以直接看注释部分了解~//go/src/sort/
我是小道哥
·
2023-11-07 17:23
Golang开发
golang
排序算法
算法
大数据毕业设计选题推荐-营业厅营业效能监控平台-Hadoop-Spark-Hive
✨作者主页:IT毕设梦工厂✨个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、
Golang
、安卓Android等项目实战。
IT毕设梦工厂
·
2023-11-07 17:59
大数据项目
大数据
hadoop
spark
hive
毕业设计
golang
定时任务 cron 项目实操
一、简介:1、cron包cron包:"github.com/robfig/cron/v3"文档:cronpackage-github.com/robfig/cron-GoPackages2、表达式,gocron使用的和Linuxcrontab一样的表达式#文件格式說明#┌──分鐘(0-59)#│┌──小時(0-23)#││┌──日(1-31)#│││┌─月(1-12)#││││┌─星期(0-6,表
DaSheng1104
·
2023-11-07 15:30
golang
golang
cron
golang
定时任务
golang
实战使用gin+xorm搭建go语言web框架restgo详解10 使用restgo搭建后台管理系统
1、首先上效果2、如何使用2.1、使用如下指令克隆cd$GOPATH/srcgitclonehttps://github.com/winlion/restgo-admin.git你将得到restgo-admin目录进入目录cdrestgo-admin2.2、数据库新建数据库名称为restgo-admin,编码为utf-8将restgo-admin.sql导入到数据库中2.3、初始化依赖包使用前先使
imwinlion
·
2023-11-07 14:51
restgo
golangweb框架
golang
go美好
后台管理
adminlte
restgo
阿里云-无影云电脑-尝试安装
golang
环境及其项目运行
1.
golang
环境安装包go1.19.1.windows-amd64.msi安装完成后,输入下列命令检验是否安装成
匠造一知识
·
2023-11-07 14:48
阿里云
云计算
Gin框架如何使用并搭建一个后台管理系统(一)
开发前准备工作1.使用何种开发技术-
golang
语言开发后台搭建2.使用
golang
中Gin框架快速搭建,使用自带模版引擎渲染UI页面。
匠造一知识
·
2023-11-07 14:47
gin框架
gin搭建一个后台管理系统
Golang
gin
golang
开发语言
Mac电脑上如何安装最新版本的Go
在Mac电脑上安装最新版本的Go语言环境,可以遵循以下步骤:访问官方网站https://
golang
.org/dl/,下载适合Mac系统的压缩包。建议选择最新版本的64位压缩包。
匠造一知识
·
2023-11-07 14:47
macos
golang
bash
开发语言
go
Golang
面试题整理
1、=和:=的区别?:=声明+赋值=仅赋值2、指针的作用?指针用来保存变量的地址。*运算符,也称为解引用运算符,用于访问地址中的值。&运算符,也称为地址运算符,用于返回变量的地址。3、Go允许多个返回值吗?允许4、Go有异常类型吗?Go没有异常类型,只有错误类型(Error),通常使用返回值来表示异常状态。5、什么是协程(Goroutine)Goroutine是与其他函数或方法同时运行的函数或方法
背包酱
·
2023-11-07 14:55
Golang
golang
面试
golang
知识点
一、Go的GC机制1.Go的垃圾回收机制采用了标记-清除算法和三色标记法。垃圾回收器会在程序运行期间定期地扫描堆上的对象,并将其标记为“活动对象”或“垃圾对象”。当所有的活动对象都被标记后,垃圾回收器会清除所有未标记的对象。这个过程被称为“垃圾收集”。2.Go的垃圾回收机制是基于“分代收集”策略的,即将对象分为新生代和老年代。新生代中的对象通常有较短的生命周期,垃圾回收器会更加频繁地回收这些对象。
林书笑忘书
·
2023-11-07 14:54
golang
jvm
java
GoLang
笔记
知识点1.函数可以返回函数类型functest()func(int){ returnfunc(xint){ println("x:",x) } }2.defer定义延迟调用,无论函数是否出错都确保结束前被调用3.ok-idiom(A跌目)模式:多返回值中用一个名为ok的布尔值来标记操作是否成功4.结构中的匿名字段,结构的实例可以直接调用匿名字段的方法和属性5.计算机中变量是一段
yangyw.
·
2023-11-07 14:23
笔记
golang
最新
golang
语言面试题总结(一)
1、go中make和new区别new:分配内存。内存里存的值是对应类型的零值。只有一个参数。参数是分配的内存空间所存储的变量类型,Go语言里的任何类型都可以是new的参数,比如int,数组,结构体,甚至函数类型都可以。返回的是指针。make:分配和初始化内存。只能用于slice,map和chan这3个类型,不能用于其它类型。如果是用于slice类型,make函数的第2个参数表示slice的长度,这
IT_ziliang
·
2023-11-07 14:51
面试总结
go面试总结
golang
开发语言
后端
golang
八股文
1.Go语言中的nil零值是Go语言中变量在声明之后但是未初始化被赋予的该类型的一个默认值。在Go语言中,布尔类型的零值(初始值)为false,数值类型的零值为0,字符串类型的零值为空字符串"",而指针、切片、映射、通道、函数和接口的零值则是nil。注意:Go中的两个nil可能是不相等的,因为接口(interface)是对非接口值(例如指针,struct等)的封装,内部实现包含2个字段,类型T和值
爱博弈的小陈
·
2023-11-07 14:21
golang
面试
开发语言
基于
golang
从零到一实现时间轮算法 (三)
引言本文参考小徐先生的相关博客整理,项目地址为:https://github.com/xiaoxuxiansheng/timewheel/blob/main/redis_time_wheel.go。主要是完善流程以及记录个人学习笔记。分布式版实现本章我们讨论一下,如何基于redis实现分布式版本的时间轮,以贴合实际生产环境对分布式定时任务调度系统的诉求.redis版时间轮的实现思路是使用redis
Lzjusc2017
·
2023-11-07 14:20
go语言
golang
算法
开发语言
后端
学习
时间轮
《
golang
设计模式》第三部分·行为型模式-05-仲裁者/中介模式(Mediator)
文章目录1.概述1.1作用1.2角色1.3类图2.代码示例2.1设计2.2代码2.3类图1.概述仲裁者(Mediator)可以封装和协调多个对象之间的耦合交互行为,以减弱这些对象之间的耦合关联。1.1作用将多个对象相互耦合的设计转变为所有对象通过中介协作,从而降低其耦合性多个对象相互耦合:所有对象通过中介(E)相互协作1.2角色抽象仲裁者(Mediator)角色:封装和实现其子类的协作行为。具体仲
玄德公笔记
·
2023-11-07 12:11
架构设计
设计模式
中介者模式
服务器
Mediator
仲裁者模式
行为模式
架构师
设计模式——Go语言(
Golang
)版:24_迭代器模式
1、介绍提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式的结构抽象容器:一般是一个接口,提供一个iterator()方法,例如java中的Collection接口,List接口,Set接口等。具体容器:就是抽象容器的具体实现类,比如List接口的有序列表实现ArrayList,List接口的链表实现LinkList,Set接口的哈希列表的实现HashSet等
Mr. 泽源
·
2023-11-07 12:41
设计模式
Golang
golang
go
设计模式
iterator
接口
《大话设计模式-
Golang
》迭代器模式
概念迭代器模式(IteratorPattern):提供一种方法顺序访问一个聚集对象中各个元素,而又不暴露该对象的内部表示。需求利用迭代器模式实现售票员售票UML图代码抽象聚集类typeAggregateinterface{CreateIterator()Iterator}抽象迭代器类typeIteratorinterface{First()interface{}Next()interface{}I
A夏天夏天悄悄过去留下小秘密
·
2023-11-07 12:41
设计模式
设计模式
golang
迭代器模式
golang
设计模式——简介
文章目录
Golang
设计模式简介什么是设计模式设计模式的分类七大设计原则开闭原则依赖倒置原则(依赖反转原则)单一职责原则接口隔离原则迪米特法则里氏代换原则合成复用原则
Golang
设计模式简介什么是设计模式设计模式是面向对象软件的设计经验
PPPsych
·
2023-11-07 12:39
Golang设计模式
设计模式
golang
设计模式——迭代器模式
迭代器模式目录迭代器模式分析应用场景代码实现实例代码单元测试总结*迭代器模式(Iterator)**:提供一种方法顺序访问一个聚合对象中各个元素,而又*不暴露该对象的内部表示。UML:分析通过UML可以看出,对于集合Aggregate,其遍历能力被拆了出来,由Iterator负责遍历。大家可能有疑问,可以用for循环解决的问题,为啥要搞得这么复杂呢?其实主要看集合结构的复杂性,如果是普通的数组,可
~庞贝
·
2023-11-07 12:39
设计模式
golang
设计模式
迭代器模式
go设计模式——迭代器模式(2)
测试用例:参考文章:17.
Golang
设计模式之迭代器模式-简书Go语言设计模式实践:迭代器(Iterator)-Go语言中文网-
Golang
中文社区
qqqweiweiqq
·
2023-11-07 12:39
设计模式
迭代器模式
设计模式这样玩泰简单(
Golang
版)-迭代器模式
场景老板:现在有一个对象拥有一个私有的属性,是一个列表.设计一个方案,在列表指针不暴露出去的情况下让这个列表能被迭代访问你:好的老板,那就使用迭代器模式方案迭代器模式,指的是用对象来封装访问一个列表的行为,其效果与for循环是一样的,但是保护了真正的列表可以不被外界访问,又能访问到列表的真正内容.在Java中我们也很经常用迭代器来做操作,像常用的List,Set,Map都可以通过那个对象创建一个迭
hello_读书就是赚钱
·
2023-11-07 12:38
golang
设计模式
【
Golang
设计模式】工厂、单例、建造者、桥接、命令、迭代器模式
golang
设计模式一、工厂模式1、普通工厂2、抽象工厂简单抽象工厂完全体抽象工厂二、单例模式1、饿汉式2、懒汉式三、建造者模式四、桥接模式五、命令模式六、迭代器模式一、工厂模式//Shape接口typeShapeinterface
小鱼小鱼啊
·
2023-11-07 12:38
设计模式
golang
golang
设计模式
设计模式学习笔记-行为型模式(上)
设计模式
golang
-行为型模式(上)一、责任链模式1.作用意图:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。
Konan96
·
2023-11-07 12:37
Golang
go
设计模式
Golang
与设计模式-Iterator迭代器模式
一般情况下
Golang
的开发中是不需要使用到的,像Slice跟Array都可以通过for...range...来完成遍历。但不是说一定就用不上哦。
灬倪先森_
·
2023-11-07 12:37
设计模式
Golang开发
设计模式
迭代器模式
Iterator
Golang
《
golang
设计模式》第三部分·行为型模式-04-迭代器模式(Iterator)
文章目录1.概念1.1角色1.2类图2.代码示例2.1需求2.2代码2.3类图1.概念迭代器(Iterator)能够在不暴露聚合体内部表示的情况下,向客户端提供遍历聚合元素的方法。1.1角色InterfaceAggregate(抽象聚合):定义存储、添加、删除聚合元素以及创建迭代器对象的接口ConcreteAggregate(具体聚合):实现抽象聚合类。它的方法可以返回一个具体迭代器的实例Iter
玄德公笔记
·
2023-11-07 12:06
架构设计
golang
设计模式
迭代器模式
Iterator
golang
设计模式——代理模式
代理模式目录代理模式静态代理:动态代理:代理模式的优点:代码实现静态代理代码单元测试GoGenerate实现“动态代理”需求代码单元测试仿照java的jdk动态代理实现go语言动态代理测试静态代理:代理类实现和目标类相同的接口,每个类都单独编辑一个代理类。我们需要在代理类中,将目标类中的所有方法都要重新实现,并且为每个方法都附加相似的代码逻辑。如果要添加方法增强的类不止一个,我们需要对每个类都创建
~庞贝
·
2023-11-07 11:32
设计模式
代理模式
golang
设计模式
Golang
学习之旅------第六章 函数
一、函数的基本介绍1.函数的基本概念为完成某一功能的程序指令(语句)的集合,称为函数。在Go中,函数分为:自定义函数、系统函数。2.函数的基本语法说明:(1).形参列表:表示函数的输入(2).函数中的语句:表示为了实现某一个功能代码块(3).函数可以有返回值,也可以没有3.快速入门案例3.1要求:输入两个数,再输入一个运算符(+,-,*,/),得到结果,用函数完成3.2代码示例:二、包的基本介绍1
bingal2022
·
2023-11-07 09:36
golang
学习
java
知识体系之
Golang
目录1.string字符串1.1.结构1.2.string和[]byte转换2.Slice切片2.1.原理2.2.slice避坑指南2.2.1.母子切片共享2.2.2.切片导致内存泄露2.2.3.遍历slice时修改slice3.Map3.1.底层结构3.2.各种操作底层实现3.2.1.创建map3.2.2.查找key3.2.3.插入/更新key3.2.4.删除key3.2.5.迭代遍历3.3.扩
粪逗er
·
2023-11-07 09:06
Golang读书笔记
知识体系
数据结构
golang
java
上一页
60
61
62
63
64
65
66
67
下一页
按字母分类:
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
其他