自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 golang 使用切片实现环形队列(支持多协程)

package main import ( "sync" ) type Queue struct { head int foot int arr []interface{} lock *sync.Mutex cap int } //NewQueue 新建一个队列 func NewQueue(length int) *Queue { q := &Queue{ head: 0,// 包含此下表值 foot: 0,// 不包含此下标值 arr: make([]interfa

2021-08-16 13:40:06 338

原创 golang控制协程并发数

使用channel控制协程并发数 func main() { control := make(chan interface{}, 5) // 管道的长度决定协程并发的数量 for i := 1; i <= 10; i++ { control <- i go func(j int) { fmt.Printf("go func: %d, time: %d\n", j, time.Now().Unix()) time.Sleep(time.Second) <-con

2021-05-20 15:20:19 869 1

原创 golang通过redis实现排行榜功能

排行榜功能是一个很普遍的需求,对于这类需求如果数据总量过大用mysql实现的话会很浪费性能 select * from rank_name order by score desc limit 0,10 这时候可以考虑使用redis中的有序集合来实现(以下是会用到的一些命令) zrange 查看排行榜 (升序) zrevrange 查看排行榜 (降序) zadd 添加一个数据 zrem 删除一个数据 zrank 获取排名(升序) zrevrank 获取排名 (降序) 以下是golang代码实现 c1,er

2021-05-20 13:53:49 1247 2

原创 关于go-micro中使用consul的一些注意细节

今天因为配置go-micro中使用consul作为服务发现踩了一天的坑,最后终于成功解决 1.安装go-micro(windows) # 安装go-micro go get -u -v github.com/micro/go-micro # 安装工具集 go get -u -v github.com/micro/micro # 安装protobuf插件 go get -u -v github.com/golang/protobuf/{proto,protoc-gen-go} go get -u -v g

2021-04-02 16:21:43 750

原创 go语言实现稀疏数组

每种数据结构以及算法的出现都肯定有其应用场景,毕竟技术的产生就是用来解决问题的,现在我们有如下应用场景:有一个11*11的二维数组,存储了以下数据,但是大部分元素都是无意义的0,只有2条数据是有意义的,这个时候如果还用二维数组存储,肯定会大量的消耗空间,这个时候就用到了稀疏数组 我们可以把数组的行和列以及默认数据记录下来,把有用的数组做出一个节点存储起来,使用到的时候在还原回来,这就是稀疏数组的思想,以下为go语言实现稀疏数组代码 package main import "fmt" type Val

2021-03-31 11:16:08 168

原创 golang实现冒泡和快速排序算法

1.冒泡排序 //冒泡排序本质就是做双重循环把每一个数与前面的数做对比并且换位 func BubbleSort(arr []int) []int{ if len(arr) == 1{ return arr } for i:=0;i<len(arr);i++{ for j:=0;j<len(arr)-1;j++{ if arr[i] < arr[j] { arr[i],arr[j] = arr[j],arr[i] } } }

2021-03-30 18:51:19 123

原创 go实现随机产生字符串

** go实现随机产生字符串 package main import ( "fmt" "math/rand" "time" ) func GetRandomString(l int) string { str := "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" rand.Seed(time.Now().UnixNano()) result := []byte{} for i := 0; i < l;

2021-03-30 18:32:59 103

原创 关于uni-app调用上一个页面的方法以及条件编译的问题

1.首先对当前页面页面栈进行定义,获取当前页以及上一页 var pages = getCurrentPages(); //获取当前的页面栈 var currPage = pages[pages.length - 1]; //当前页面 var prevPage = pages[pages.length - 2]; //上一页面 2.调用上一页的方法 // #ifdef APP-PLUS prevPage.$vm.loaddata() //APP端调用上一页面方法 //

2020-07-10 12:00:24 775

原创 如何用vue脚手架快速构建一个基于webpack管理的vue项目

如何用vue脚手架快速构建一个基于webpack管理的vue项目 1.首先确保你的电脑上安装了node.js,如果没有安装,可以去官网安装 node.js官网地址链接: https://nodejs.org/en/安装过程中不要忘记把node.js加入到环境变量中,然后打开命令提示窗cmd,输入node-v和npm-v,可以查看node.js和npm的的版本号代表安装成功了 2.因为npm用的是国外的服务器,所以可以通过npm install -g cnpm --registry=https://regis

2020-07-07 20:04:42 283 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除