闭包go

Go语言:利用 TDD 驱动开发测试 学习结构体、方法和接口

环境安装: (新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4 上一篇相关随笔: Go语言:利用 TDD 测试驱动开发帮助理解数组与动态数组(切片)的区别 正文👇 先来点简单的: 假设我们需要编程计算一个给定高和宽的长方形的周长。我们可以 ......
接口 语言 结构 方法 TDD

Go's work-stealing scheduler 新建goroutine 与饥饿模式

小结: 1、多核处理器 从其他核的任务队列中偷取任务 新建goroutine 与饥饿模式 Go's work-stealing scheduler · rakyll.org https://rakyll.org/scheduler/ Go's work-stealing scheduler Sun, ......

使用 go tool pprof 跟踪优化 cpu 和 内存

搜了一些文章来看 实在是没有重点,自己归纳一下。 其实直接看文档已经比较清楚但是文档部分似乎没有一些介绍如何看火焰图之类的细节,这里一并归纳总结一下。 收集性能数据 在看数据之前首先要收集数据,我们需要在需要测试性能的代码中插入 pprof 库和启动一个 http server。 这个 server ......
内存 pprof tool cpu go

Going Deeper With Directly-Trained Larger Spiking Neural Networks

郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! The Thirty-Fifth AAAI Conference on Artificial Intelligence (AAAI-21) Abstract 脉冲神经网络(SNN)在时空信息和事件驱动信号处理的生物可编程编码中很有前途,非 ......

go结构体随笔

1.类型定义和类型别名 //类型定义 定义了自己 可以给自定义类型添加方法 type NewInt int func (i *NewInt) getInt() int { return 100 } //类型别名 就是个int类型 换了个名字 叫MyInt类型 type MyInt = int fun ......
随笔 结构

IOS 不支持this.$router.go解决办法

在使用Vue路由实例对象$router.go进行页面切换时ios是不起作用得,可以使用 location.href = "javascript:history.go(-2);" 解决 ......
办法 router this IOS go

一统天下 flutter - dart: 函数(函数基础,箭头函数,可选参数,命名参数,函数作为参数,匿名函数,嵌套函数,闭包函数,回调函数)

一统天下 flutter - dart: 函数(函数基础,箭头函数,可选参数,命名参数,函数作为参数,匿名函数,嵌套函数,闭包函数,回调函数) ......
函数 参数 闭包 一统天下 箭头

Go 并发编程(二):锁、Select、Context、定时器

Sync(锁) 在前面讲 channel 的时候,我们说到在 Go 语言并发编程中,倡导使用通信共享内存,不要使用共享内存通信,即 goroutine 之间尽量通过 channel 来协作。 而在其他的传统语言中,都是通过共享内存加上锁机制来保证并发安全的,同样 Go 语言也提供了对共享内存并发安全 ......
定时器 Context Select Go

调试 Go 中简单的内存泄漏

内存泄漏 是一种即使当某块内存不再使用之后仍然没有被释放而产生的 bug。通常来说,它们是非常明显的,高度可见的,这使得它们成为学习程序调试的最佳选择。Go 是一门特别适合识别定位内存泄漏的语言,因为它有一套强大的工具链,这套工具链配备了非常强大的工具(pprof),它可以非常轻松地查明内存的使用情 ......
内存 Go

基于go/pprof用于常用排序场景下的性能分析

我们常用的排序常见的有: 冒泡 选择 插入 希尔 快排 归并 堆排 计数 基数 桶排序 关于排序算法的时间复杂度、空间复杂度这里不加赘述,今天主要分享通过 go 性能分析工具 pprof 看看几种常见排序的性能情况。 sort.go 点击查看代码 package sort import "math" ......
性能分析 场景 性能 常用 pprof

go语法基础

Go语言语法类似于C语言,因此熟悉C语言及其派生语言([C++]、[C#]、Objective-C 等)的人都会迅速熟悉这门语言。 C语言的有些语法会让代码可读性降低甚至发生歧义。Go语言在C语言的基础上取其精华,弃其糟粕,将C语言中较为容易发生错误的写法进行调整,做出相应的编译提示。 去掉循环冗余 ......
语法 基础

go语言的并发

并发编程在当前软件领域是一个非常重要的概念,随着CPU等硬件的发展,我们无一例外的想让我们的程序运行的快一点、再快一点。Go语言在语言层面天生支持并发,充分利用现代CPU的多核优势,这也是Go语言能够大范围流行的一个很重要的原因。 基本概念 首先我们先来了解几个与并发编程相关的基本概念。 串行、并发 ......
语言

go 常用设计模式-创建型模式

本次分享的创建型模式主要包括: 单例模式 简单工厂模式 工厂模式 抽象共工厂模式 1.单例模式 package singleton import "sync" /* 创建型模式 */ var ( instance Singleton once sync.Once ) type Singleton s ......
模式 设计模式 常用 go

go 常用设计模式-行为型模式

本次分享的行为型模式,主要包含: 责任链模式 策略模式 观察者模式 模板模式 访问者模式 1.责任链模式 package chainOfResponsibility import "fmt" /* 行为模式: 通过账目报销的例子说明,不同的级别领导,其权限不同,如100元级别,100元级别等 */ ......
模式 设计模式 常用 行为 go

go 常用设计模式-结构型模式

本次分享结构型模式,主要包括: 代理模式 装饰器模式 适配器模式 享元模式 1.代理模式 package proxy import "fmt" /* 结构型模式 代理,代表打理,以他人的名义代表委托人打理其本职工作之外或不所能及的事务,达成合作关系并更高效地促成事务完成的目的。 强调的是对被代理对象 ......
结构型 模式 设计模式 常用 结构

go mongo 设置查询结果只返回

filter := bson.D{{"字段1", 1113}, {"字段2", 1111}} // 设置查询结果只包含 _id 字段 opts := options.FindOne().SetProjection(bson.M{"_id": 1}) err := mongodb.Conn().Col ......
结果 mongo go

go压缩和解压文件

压缩和解压文件 package main import ( "archive/tar" "compress/gzip" "fmt" "io" "os" "strings" ) // Compress 压缩 使用gzip压缩成tar.gz func Compress(files []*os.File, ......
文件

Go 语言:如何利用好 TDD 学习指针并了解 Golang 中的 error 处理

我们在上一节中学习了结构体(structs),👉Go语言:利用 TDD 驱动开发测试 学习结构体、方法和接口 它可以组合与一个概念相关的一系列值。 你有时可能想用结构体来管理状态,通过将方法暴露给用户的方式,让他们在你可控的范围内修改状态。 金融科技行业都喜欢 Go 和比特币吧?那就来看看我们能创 ......
指针 语言 Golang error TDD

Python——闭包与装饰器(九)

1. 什么是闭包 Python中的闭包是一个比较模糊的概念,有很多朋友都认为不好理解,但是随着深入学习,就会发现闭包无论如何都是需要去理解的,下面我将自己对闭包的理解进行阐述,希望能够对你有所帮助 ~ 我们可以将闭包理解为一种特殊的函数,这种函数由两个函数的嵌套组成,且称之为外函数和内函数,外函数返 ......
闭包 Python

01go包无法远程下载,无法访问

默认使用的是proxy.golang.org,在国内无法访问。 处理方法 换一个国内能访问的代理地址:https://goproxy.cn go env -w GOPROXY=https://goproxy.cn ......
01 go

Going the distance with Babylon.js

作者:Josh Elster 前言:David Catuhe, creator and leader of the Babylon.js open source project 前言:如果在当时你告诉我,有一天有人会有足够的动力来写一本关于它的书,我会笑得无法自拔。而现在,我们依然这样想。当乔希告诉 ......
distance Babylon Going with the

Go语言 :使用简单的 for 迭代语句进行 TDD 驱动测试开发与 benchmark 基准测试

前提准备与运行环境请参考:(新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4 在 Go 中 for 用来循环和迭代, Go 语言没有 while,do,until 这几个关键字,我们只能使用 for。这也算是件好事! 让我们来为一个重复字符 ......
基准 语句 benchmark 语言 for

深入理解Go语言中的sync.Cond

1. 简介 本文将介绍 Go 语言中的 sync.Cond 并发原语,包括 sync.Cond的基本使用方法、实现原理、使用注意事项以及常见的使用使用场景。能够更好地理解和应用 Cond 来实现 goroutine 之间的同步。 2. 基本使用 2.1 定义 sync.Cond是Go语言标准库中的一 ......
语言 sync Cond

一文吃透 Go 内置 RPC 原理

hello 大家好呀,我是小楼,这是系列文《Go底层原理剖析》的第三篇,依旧分析 Http 模块。我们今天来看 Go内置的 RPC。说起 RPC 大家想到的一般是框架,Go 作为编程语言竟然还内置了 RPC,着实让我有些吃鲸。 从一个 Demo 入手 为了快速进入状态,我们先搞一个 Demo,当然这 ......
原理 RPC Go

看看CabloyJS是如何异步加载并执行go wasm模块的

CabloyJS提供了一个内置模块a-wasmgo,将go wasm模块的异步加载运行机制进行了封装,使我们可以非常方便的在CabloyJS项目中引入go wasm,从而支持更多的业务场景开发 ......
模块 CabloyJS wasm

【新版】使用 go-cqhttp 扫码登录,一键接入 ChatGPT 机器人到 QQ 群

🎈 项目效果 由于 ChatGPT 目前只能在漂亮国使用,所以想要在国内使用 ChatGPT 必然险阻重重 不仅时时刻刻要跟企鹅公司斗智斗勇,还要时时刻刻都要跟 openai 公司打游击,真的是很难有一个稳定的版本供大家屡试不爽 在不断的游击战中,我们也是越战越勇,在磨练中,技术越来越完善,体验也 ......
机器人 go-cqhttp 机器 ChatGPT cqhttp

最近写了一个demo,想看看java和go语言是怎么写的

最近写了一个demo:demo的github地址 一. 简单介绍 1. Server端 它是一个WebApi服务,把它当成一个黑盒就行了。 2. MiddleServer端 是重点,它是一个WebApi服务,包含一个GetValues接口和一个Query2接口。 Query2接口是一个简单的接口。 ......
语言 demo java

【基数排序算法详解】Java/Go/Python/JS/C不同语言实现

说明 基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序的发明可以追溯到1887年赫尔曼·何乐礼在列表机(Tabulation ......
基数 算法 语言 Python Java

【选择排序算法详解】Java/Go/Python/JS/C 不同语言实现

【选择排序算法详解】Java/Go/Python/JS/C 不同语言实现 说明 选择排序(Selection Sort)是一种简单直观的排序算法。跟冒泡、插入排序一样,它将数列分为已排序和待排序两个区间。首先在待排序序列中找到最小(或最大)的元素,追加到已排序序列中,然后继续从待排序序列中寻找最小( ......
算法 语言 Python Java Go

【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现

【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现 简介 桥接模式(Bridge Pattern)是一种结构型设计模式,它将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构,来实现二者的解耦。参与桥接的接口是稳定的,用户可以扩展和修改桥接中的类,但是不能改变接口。 ......
设计模式 语言 模式 Python Java