golang

使用golang来解密m3u8视频播放列表里面的ts文件

如果我有一个1.2G的mp4格式的电影,想要放在网站上进行播放,直接用video标签,src属性设置为视频的地址就可以了! 这种观看体验,究竟怎么样,可以自己去尝试下。。。 结果是令人崩溃的。。。加载巨慢,无法选择性观看自己想要看的部分,反正就是哪哪儿都不爽。 那么为了解决这个问题,现在有很多新的播 ......
播放列表 面的 文件 golang 视频

golang GMP

定义 G:Goroutine的缩写,一个G代表了对一段需要被执行的Go语言代码的封装 M:Machine的缩写,一个M代表了一个内核线程 P:Processor的缩写,一个P代表了M所需的上下文环境 定义都在源码 runtime/runtime2.go M M 的定义在runtime/runtime ......
golang GMP

golang channel

”不要以共享内存的方式来通信,相反,要通过通信来共享内存“ golang 的一个思想,不整文的,整点武的,具体来看channel 怎么做的 有一个很关键的 golang MPG 模型再单独分析,这篇先只分析 channel 定义 // runtim/chan.go type hchan struct ......
channel golang

golang map

golang 的 map 使用的是 hash map 基本结构 下面截取自源码,已翻译 // runtime/map.go:117 // go map 定义,hashmap 缩写 type hmap struct { count int // map 里文件数 flags uint8 // map ......
golang map

Golang把文件写到excel

最近有个需求是把看广告的日志转成excel package main import ( "bufio" "encoding/json" "flag" "fmt" "github.com/xuri/excelize/v2" "os" "time" ) // Ad 广告 type Ad struct { ......
文件 Golang excel

使用golang对服务器简单监控

package main import ( "fmt" "github.com/shirou/gopsutil/cpu" "github.com/shirou/gopsutil/disk" "github.com/shirou/gopsutil/host" "github.com/shirou/go ......
服务器 golang

clickHouse-golang

目录clickHouse优势与劣势golang操作clickHouse clickHouse优势与劣势 ClickHouse和传统的MySQL在设计和使用场景上有一些显著的区别,因此它们各自具有不同的优势和劣势。 ClickHouse的优势: 分布式架构:ClickHouse是为大数据分析而设计的分 ......
clickHouse-golang clickHouse golang

golang-数组

数组**** 在go语言中 数组的长度必须是常量,并且长度是数组类型的一部分,一旦定义了数组的长度则不能改变 如 func main() { var a [3]int64 // 定义一个长度为3 元素类型为int64的数组 fmt.Println(a, reflect.TypeOf(a)) } 其中 ......
数组 golang

从一道题来看看golang中的slice作为参数时的现象

1、题目 最近看群友在群里问一道关于golang中slice的题,题目如下: package main import "fmt" func main() { k := []int{1, 2, 3, 4} k = append(k, 5, 6) fmt.Printf("k --> value: %v, ......
一道 现象 参数 golang slice

windows系统使用终端和goland编辑器打包golang程序方法

上一篇文章说了,windows系统,如何使用goland编辑器打包exe和linux程序,这篇文章再补充一下,使用终端和goland编辑器打包的对比情况。 这里的终端可以是,cmd、Windows PowerShell、MINGw64 这里,我使用goland编辑器里面的Terminal,也就是Wi ......
编辑器 终端 windows 程序 方法

windows系统使用golang编辑器构建linux程序

我是在windows系统下开发golang程序,主要是一些工具和插件啥的,正式应用是在linux环境去运行的。 之前我是在一台linux测试机上安装了go环境,主要目的是用来打包linux的程序,在windows下写好代码,调试没有问题之后,将代码上传到linux测试机,然后打包,然后再把程序部署到 ......
编辑器 windows 程序 golang 系统

【golang】Golang 哈希码 hashcode 输入一个字符串,得到一个唯一标识码

如何输入一个字符串,得到一个唯一的hashcode? 例子如下: package main import ( "fmt" "hash/crc32" ) // String hashes a string to a unique hashcode. // // crc32 returns a uint ......
字符串 标识 字符 hashcode golang

golang slice

slice 是 golang 的切片,动态数组 底层结构 // runtime/slice.go type slice struct { array unsafe.Pointer // 底层数组 len int cap int } golang 的 slice 底层是一个数组,也就是可以通过 &s[ ......
golang slice

golang版本升级(Mac GoLand版)

本地的go版本是1.18,想升级到1.21,运用GoLand做快速升级 第一步 进入GoLand -》 Preferences 第二步 进入Go -〉 GOROOT 点击“+”号,选择“Download” 第三步 选择需要更新的版本 点击“OK”后“Apply”,最新版的go就会下载到你的GOPAT ......
版本 golang GoLand Mac

Golang workSpace工作区

创建 myworkspace 主项目 mkdir myworkspace cd myworkspace 创建 common 子项目 mkdir common && cd common go mod init common vim common.go myworkspace/common/common ......
工作区 workSpace Golang

Golang反射

反射的结构体 //reflect/type.go type Type interface { // 该类型内存分配大小(内存对齐单位子节) Align() int // 该类型作为结构体字段时内存分配大小(内存对齐单位子节) FieldAlign() int // 根据index in [0, Nu ......
Golang

Golang 锁

写锁需要阻塞写锁:一个协程拥有写锁时,其他协程写锁定需要阻塞 写锁需要阻塞读锁:一个协程拥有写锁时,其他协程读锁定需要阻塞 读锁需要阻塞写锁:一个协程拥有读锁时,其他协程写锁定需要阻塞 读锁不能阻塞读锁:一个协程拥有读锁时,其他协程也可以拥有读锁 ......
Golang

Golang 大杀器之trace

需要下载graphviz package main import ( "log" "os" "runtime/trace" ) func main() { file, err := os.Create("trace.out") if err != nil { log.Fatal(err) } def ......
Golang trace

Golang大杀器之pprof

需要下载graphviz package main import ( "math/rand" "os" "runtime/pprof" "time" ) func generate(n int) []int { rand.Seed(time.Now().UnixNano()) nums := mak ......
Golang pprof

Golang 中的 Context 包

Golang 中的 Context 包 原创 Slagga 技术的游戏 2023-11-12 12:28 发表于广东 收录于合集#Golang89个 简介 今天,我们将讨论 Go 编程中非常重要的一个主题:context 包。如果你现在觉得它很令人困惑,不用担心 — 在本文结束时,你将像专家一样处理 ......
Context Golang

golang http rpc

server 端: package main import ( "errors" "log" "net" "net/http" "net/rpc" ) type Args struct { A, B int } type Quotient struct { Quo, Rem int } // 定义t ......
golang http rpc

golang- slice解析

Slice(切片) 定义 切片的概念在python中也存在这个概念,在go中,切片是对数组的一个连续片段的引用,所以切片是一个引用类型,它的内部结构包含地址、长度和容量。 版本号:go version go1.20 darwin/arm64 runtime/slice.go type slice s ......
golang slice

Golang布隆过滤器升级版

作用:平常使用的布隆过滤器可以用来过滤Redis空数据,避免缓存穿透。 升级点:将原本的bool数组位更改为int数组,实现便于删除操作的场景。代码如下: package main import ( "fmt" ) // BloomFilter 布隆过滤器 type BloomFilter stru ......
升级版 过滤器 Golang

基于Golang协程实现流量统计系统项目开发

基于Golang协程实现流量统计系统项目开发 上一节课我们已经架设好了一个网站。,但是因为我们的网站没有流量 。也生成不了大量的日志,靠我们自己点击生成那点日志也不够测试的。所以这次我们就用GO语言批量生成我们想要的日志。 好了。我们开始写代码 我用的IDE工具是GOLAND,没有为什么,只因为强大 ......
项目开发 流量 项目 Golang 系统

Golang使用nats

nats自行安装 package main import ( "fmt" "github.com/nats-io/nats.go" ) ////nats-server 在管理 subject 的时候是通过’.’ 进行分割的,server 底层是使用 tree module 分层管理 subject. ......
Golang nats

Golang锁简单使用

golang主要有两种锁:互斥锁和读写锁 互斥锁 Mutex 用于提供一种加锁机制(Locking Mechanism),保证同一时刻只有一个goroutine在临界区运行 package main import ( "fmt" "sync" "time" ) func main() { var m ......
Golang

Golang服务端断线重连

断线重连的逻辑很简单,就是把用户存到服务器内存中,当客户端再次登录的时候,判断内存中是否有用户的值,有的话替换 package main import ( "fmt" "github.com/gorilla/websocket" "log" "net/http" "sync" "time" ) ty ......
Golang

Golang使用crontab

要是记不住crontab格式,就去网上生成,在线crontab有很多。例如 https://www.pppet.net/ package main import ( "fmt" "github.com/robfig/cron/v3" "time" ) /** 第一个*: second,范围(0 - ......
crontab Golang

golang中 String bytes rune 和 字符概念与应用

一、引入问题-为何打印s[0] 没有打印‘你’字符 package main import "fmt" func main() { s := "你" fmt.Println(s[0]) fmt.Printf("%s\n", s[0]) } output %!s(uint8=228) 首先需要知道go ......
字符 概念 golang String bytes

Golang简单使用wasm

go代码 package main import ( "syscall/js" ) func addxxxx(this js.Value, args []js.Value) interface{} { if len(args) != 2 { return "Invalid number of arg ......
Golang wasm