通道go

Go 语言为什么不支持并发读写 map?

大家好,我是 frank ,「 Golang 语言开发栈」公众号作者。 01 介绍 在 Go 语言项目开发中,我们经常会使用哈希表 map,它的时间复杂度是 O(1),Go 语言中的 map 使用开放寻址法避免哈希碰撞。 Go 语言中的 map 并非原子操作,不支持并发读写操作。 Go 官方认为 m ......
语言 map Go

Go标准库:Go template用法详解

本文只介绍template的语法和用法,关于template包的函数、方法、template的结构和原理,见:深入剖析Go template。 入门示例 以下为test.html文件的内容,里面使用了一个template语法{{.}}。 <!DOCTYPE html> <html> <head> < ......
template 标准

2024-01-13:用go语言,现在有一个打怪类型的游戏,这个游戏是这样的,你有n个技能, 每一个技能会有一个伤害, 同时若怪物小于等于一定的血量,则该技能可能造成双倍伤害, 每一个技能最多只能释放

2024-01-13:用go语言,现在有一个打怪类型的游戏,这个游戏是这样的,你有n个技能, 每一个技能会有一个伤害, 同时若怪物小于等于一定的血量,则该技能可能造成双倍伤害, 每一个技能最多只能释放一次,已知怪物有m点血量。 现在想问你最少用几个技能能消灭掉他(血量小于等于0)。 技能的数量是n, ......
技能 双倍 怪物 同时 语言

我开源了一个 Go 学习仓库

这个学习仓库中核心包含《The Go Programing Language》一至八章讲解与分析,同时同步收录往期公众号和博客的精彩文章,更有电子书和建立模板供大家参考学习。 ......
仓库 Go

go的并发梳理

Golang不可不知的7个并发概念 原创 俞凡 DeepNoMind DeepNoMind 2024-01-06 13:10 发表于上海 3人听过 并发性支持是Golang最重要的原生特性之一,本文介绍了Golang中和并发性相关的7个概念。原文: Golang: 7 must-know concu ......

go语言多态中的类型断言

类型断言案例 package main import ( "fmt" ) type Usb interface{ Connect() DisConnect() } type Phone struct{ Name string } /* * Phone实现了Usb 接口(是指实现了Usb接口的所有方法 ......
语言 类型

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 ......
机制 语言 defer

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" " ......
token 有效性 jwt

go-carbon v2.3.5 发布,轻量级、语义化、对开发者友好的 golang 时间处理库

carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装 ......
轻量 轻量级 语义 开发者 go-carbon

STM32CubeMX教程13 ADC - 单通道转换

使用STM32CubeMX软件配置STM32F407开发板的ADC实现单通道ADC采集,具体为使用ADC1_IN5通道通过软件/定时器触发采集滑动变阻器上的分压 ......
教程 CubeMX STM ADC 32

从错误中学习: 了解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 { ......
接口 go

Go+Gin+xorm+MySql实现增删改查

一、概述 承接上一篇(ps:原生增删改查),本篇使用xorm实现增删改查。 之所以要使用xrom是因为xrom可以极大的缩小操作数据库的成本。 使用rom之前需要导入响应的包 go get github.com/go-xorm/xorm #安装xorm go get xorm.io/core go ......
MySql xorm Gin Go

Go语言常见错误| 将接口作为返回值

Go语言常见错误| 将接口作为返回值 原创 云原生Go 源自开发者 2024-01-11 07:00 发表于广东 听全文 源自开发者 专注于提供关于Go语言的实用教程、案例分析、最新趋势,以及云原生技术的深度解析和实践经验分享。 69篇原创内容 公众号 在Go语言开发过程中,一个常见的错误是错误地将 ......
接口 常见 错误 语言

go中map使用

前端插件对输出数据有要求 mydata := map[string]interface{}{ "draw": draw, "recordsTotal": num, "recordsFiltered": num, "data": list, } c.JSON(http.StatusOK, mydata ......
map

2024-01-10:用go语言,给你一个下标从 0 开始的二维整数数组 pairs 其中 pairs[i] = [starti, endi] 如果 pairs 的一个重新排列 满足对每一个下标 i

2024-01-10:用go语言,给你一个下标从 0 开始的二维整数数组 pairs 其中 pairs[i] = [starti, endi] 如果 pairs 的一个重新排列 满足对每一个下标 i ( 1 <= i < pairs.length ) 都有 endi-1 == starti , 那么 ......
下标 pairs 整数 数组 语言

烟火检测/区域人流统计/AI智能分析网关V4如何配置通道?

TSINGSEE青犀智能分析网关(V4版)是一款高性能、低功耗的软硬一体AI边缘计算硬件设备,硬件内部署了近40种AI算法模型,支持对接入的视频图像进行人、车、物、行为等实时检测分析,并上报识别结果,并能进行语音告警播放。算法可按需组合、按场景配置,平台支持前端设备管理、实时视频预览、录像与云存储、 ......
网关 人流 烟火 通道 区域

安防视频监控平台EasyCVR使用RTMP推流但是通道显示不在线的原因排查

安防视频监控平台EasyCVR采用了开放式的网络结构,支持高清视频的接入和传输、分发,平台提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力,此外,国标GB28181高清可视化视频监控云平台EasyCVR还具备权限管 ......
视频监控 通道 原因 EasyCVR 平台

go的gin框架学习以及初始化---安装篇

1. 编辑器使用 vscode 设置中文,加载go语言相关插件 https://code.visualstudio.com/ 2.下载go运行环境 https://go.dev/dl/ 3.新建项目目录 bin pkg src(项目目录可存放多个项目) 每个项目文件下必须要有 go.mod 文件 4 ......
框架 gin

Go Gin+MySQL实现增删改查

一、概述 使用Gin框架+MySQL数据库实现增删改查(原生sql) 实现步骤: 1.导入Gin框架 go get -u github.com/gin-gonic/gin 2.引入MySQL驱动 go get -u github.com/go-sql-driver/mysql 3.注册Gin路由 / ......
MySQL Gin Go

LiteIDE go 错误: 进程无法启动.

一、概述 使用LiteIDE写go代码在重启项目的时候会遇到(经常性的,感觉这个款ide有点问题) go 错误: 进程无法启动. 二、解决办法 让项目运行出错一次,然后再运行就行了。 例如:你把导入的包注释掉,运行报错。然后解除注释在运行,就正常了。ps:此方法不具有普适性。 ......
进程 错误 LiteIDE go

【golang】GO之认证与授权

一般公司项目比较多,比较分散,但是对于都是公司的用户来说,用户数据一般是共享的,所以集成统一认证与授权的功能一般就必不可少,这样可以实现一个用户,分配一点权限,能访问公司很多项目. 一般的认证与授权方案有 OAuth、分布式 Session、OpenID 和 JWT 等.目前常用的是OAuth2,其 ......
golang

go 新建一个自定义包

一、概述 在go中新建一个自定义包供其他包使用。 步骤: 1.新建一个目录 2.目录下新建一个xxx.go文件 3.在xxx.go文件中使用package xxx(包名) 4.此时你的包已经新建好了 5.在需要使用上面包的地方导入即可,如:import "xxxx" ps:如果包中的内容需要对外开放 ......
go

Go语言接口防并发常用方案

Go语言接口防并发常用方案 原创 枫潇潇兮 程序员技术成长之路 2024-01-09 08:30 发表于福建 听全文 Go语言中处理并发的常见策略涉及了并发原语,如互斥锁(sync.Mutex)、读写锁(sync.RWMutex)、通道(channel)以及原子操作(sync/atomic)。接口( ......
接口 常用 语言 方案

GB28181视频汇聚平台EasyCVR级联后,部分通道视频无法播放是什么原因?

视频汇聚监控EasyCVR平台可以实现不同厂家、不同协议、不同型号的摄像机、设备及平台获取摄像机视频流后,以统一、标准的视频格式和传输协议,将视频流推送至云平台,完成海量安防视频资源轻量化接入、分发,实现设备和平台的互联互通,形成感、存、知、用一体化的综合性大平台,让用户随时随地“可视、可测、可控”... ......
视频 通道 原因 EasyCVR 部分

$GOPATH/go.mod exists but should not

一、概述 开发工具:LiteIDE 现象:运行项目报以下异常 $GOPATH/go.mod exists but should not 错误: 进程退出代码 1. 二、解决办法 去掉LiteIDE开发工具中的GOPATH,然后再运行就行了(查看-->选项-->GolangPackage) ......
GOPATH exists should but mod

UM2082F08三通道低频无线唤醒ASK接收功能的125k SOC芯片

1产品描述 UM2082F08是基于单周期8051内核的超低功耗8位、具有三通道低频无线唤醒ASK接收功能的SOC芯片。芯片可检测30KHz~300KHz范围的LF (低频)载波频率数据并触发唤醒信号,同时可以调节接收灵敏度,确保在各种应用环境下实现可靠唤醒,其拥有的三个独立通道可配置成不同的唤醒模 ......
芯片 通道 无线 功能 2082F

堆排序Go语言实现

堆排序是利用最大堆的性质将堆顶元素与数组末尾元素互换,然后重新将剩下的HeapSize-1部分的数组维护为最大堆的过程。 首先我们需要知道什么是堆,以及最大堆和最小堆等。 堆是数组,可以被看做是一颗完全二叉树(即任意两个叶子节点的深度相差不超过1且其排列与满二叉树契合),反过来我们也可以说堆是一个完 ......
语言

归并排序和快排的Go语言实现

归并排序和快排都是时间复杂度为n*logn的排序算法,都较好的的利用了分治思想,因此放在一起描述。 上图是我比较喜欢的一副展示归并和快排的示意图,我们可以通过递归来实现上述两个排序算法。 先来说归并排序: 归并排序的本质就是将要排序的数组一层一层的拆分为直到长度为1的单元素数组然后进行逐层归并。 通 ......
语言
共2472篇  :1/83页 首页上一页1下一页尾页