时针 矩阵offer go
go ants使用
NewPoolWithFunc -> func(data interface{}) -> data.(Task) -> Task.Do 上面的这些函数都是同步的,添加到 NewPoolWithFunc中后,执行 invoke会变成异步 NewPool和NewPoolWithFunc本质是一样的,都是 ......
go errgroup用法
草稿 errgroup就是在waitgroup基础上封装了一层。 我还是不喜欢 go的这个控制goroutine的方式。 只贴一下代码: func main() { eg, ctx := errgroup.WithContext(context.Background()) for i := 0; i ......
[Go] "Method Declaration" on a custom type
package data // new type type distance float64 type distanceKm float64 // add ToKm method to distance type func (miles distance) ToKm() distanceKm { / ......
pb.go 转 proto 文件
使用python将pb.go 文件转为proto文件 编程语言不限,挺简单的,不熟悉python的可以看看逻辑,自己改下 import os import re # 处理字段选项 def dispose_field_type(ft: str): ft = ft.replace("*", "") if ......
【go】【test】benchmark
@目录写在前面 go 测试基础测试fib.gotest_fib.go使用内存generate_test.go测试参数测试generate_test.go参数测试timeRestnullsort_test.go 测试开始记时⌛️和测试结束计时⌛️测试参考资料 写在前面 相关博文 个人博客首页 免责声明 ......
go使用context.withtimtout取消一个超时操作
3 使用context.WithTimeout: package mainimport ("context""fmt""time")func main() {timeout := 5 * time.Secondctx, cancel := context.WithTimeout(context.Ba ......
Go基础面经题
Go基础 1. 基础特性 Go的优势 天生支持并发,性能高。 单一的标准代码格式,比其他语言更具可读性。 自动垃圾收集机制比Java和Python更有效,因为它与程序同时执行。 Go数据类型 int, string, float, bool, array, slice, map, channel, ......
go的类型断言跟静态转换
Go 中的类型断言与静态转换 原创 TimLiu 爱发白日梦的后端 2023-10-15 10:47 发表于广东 收录于合集#go95个 类型断言 在 Go 中,类型断言用于提取和测试接口值的动态类型。通过断言,您可以确定接口值是否持有特定的底层具体类型,如果持有,则获取该值。下面是一个如何在 Go ......
Go捕获系统信号
原理 简单来说,main中可以捕获系统的中断信号,并将其传入到 chan中; 原来的main goroutine因为要捕获系统的 interrupt信号,所以需要将原来的代码放入到另外一个goroutine中。 这样做之后,如果不主动处理interrupt信号,程序默认是无法结束的 示例代码: fu ......
go实现网络代理
每日一库:Go实现网络代理 原创 孟斯特 孟斯特 2023-11-19 10:00 发表于北京 收录于合集 #每日一库38个 #Golang91个 使用 Go 语言开发网络代理服务可以通过以下步骤完成。这里,我们将使用 golang.org/x/net/proxy 包来创建一个简单的 SOCKS5 ......
go form表单数据处理
每日一库:表单数据处理 原创 孟斯特 孟斯特 2023-11-20 10:00 发表于北京 收录于合集 #每日一库38个 #Golang91个 在 Go 语言中,处理 HTTP 请求中的表单数据是一项常见任务。github.com/go-playground/form/v4 是一个强大而灵活的库,用 ......
Go实现网络代理
使用 Go 语言开发网络代理服务可以通过以下步骤完成。这里,我们将使用 golang.org/x/net/proxy 包来创建一个简单的 SOCKS5 代理服务作为示例。 步骤 1. 安装 golang.org/x/net/proxy 包 使用以下命令安装 golang.org/x/net 包,该包 ......
go接口判断是否为nil
var i interface{} var x *int i = x //不赋值时i接口为is a nil,反射reflect.ValueOf(i).IsNil()会panil if i != nil { fmt.Println("i != nil") } else { fmt.Println("i ......
10个令人惊叹的Go语言技巧,让你的代码更加优雅
10个令人惊叹的Go语言技巧,让你的代码更加优雅 原创 TimLiu 爱发白日梦的后端 2023-11-18 08:50 发表于广东 收录于合集#go95个 爱发白日梦的后端 专注 Go 语言领域的发展,学习成为更牛逼的架构师,日常分享 Go 语言、架构、软件工具的使用。 129篇原创内容 公众号 ......
go并发 - channel
概述 并发编程是利用多核心能力,提升程序性能,而多线程之间需要相互协作、共享资源、线程安全等。任何并发模型都要解决线程间通讯问题,毫不夸张的说线程通讯是并发编程的主要问题。go使用著名的CSP(Communicating Sequential Process,通讯顺序进程)并发模型,从设计之初 Go ......
go并发 - goroutine
概述 Go并发模型独树一帜,简洁、高效。Go语言最小执行单位称为协程(goroutine),运行时可以创建成千万上个协程,这在Java、C等线程模型中是不可想象的,并发模型是Go的招牌能力之一。很多文章描述协程是轻量级的线程,并不准确,两者在底层有本质区别。线程是由操作系统维护,以Linux为例,系 ......
矩阵
矩阵 顾名思义就是一个小破方阵 类似这样 0 0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 这就是一个四行四列的矩阵, 矩阵包含三个信息, 长度, 宽度, 数值 数值就是矩阵里每一位上的数值, 通常用一个数值来存 为了方便使用我们常写成结构体形式 定义 struct Mat { int ......
2023/11/18(有关乘法可交换矩阵的问题)
![](https://img2023.cnblogs.com/blog/2702872/202311/2702872-20231118231128121-1806575620.png) ![](https://img2023.cnblogs.com/blog/2702872/202311/2702... ......
2023-11-18:用go语言,如果一个正方形矩阵上下对称并且左右对称,对称的意思是互为镜像, 那么称这个正方形矩阵叫做神奇矩阵。 比如 : 1 5 5 1 6 3 3 6 6 3 3 6 1 5
2023-11-18:用go语言,如果一个正方形矩阵上下对称并且左右对称,对称的意思是互为镜像, 那么称这个正方形矩阵叫做神奇矩阵。 比如 : 1 5 5 1 6 3 3 6 6 3 3 6 1 5 5 1 这个正方形矩阵就是神奇矩阵。 给定一个大矩阵n*m,返回其中神奇矩阵的数目。 1 <= n, ......
go map删除元素后内存是否会释放
go 底层map 是由若干个bmap(桶)构成的,桶只会扩容,不会缩容 ,所以 map中占用的内存不会被释放 但是!!! 以上只针对值类型的数据结构 例如:基本类型 int string slice struct 等 如果key为 指针变量 删除后这个指针变量内存不会释放,但是这个指针指向的对象,引 ......
go语言window|mac|linux下交叉编译其他平台的软件包
go语言window|mac|linux下交叉编译其他平台的软件包 注意:go1.17 发现直接使用set 是不起作用的, 必须要使用go env -w 来设置 一、设置编译环境,需要发布哪个平台 Window下 1、 设置Linux编译环境 SET CGO_ENABLED=0 set GOARCH ......