#GO

django中的FBV和CBV

 一、FBVFBV(functionbaseviews) 就是在视图里使用函数处理请求。看代码:urls.py12345678from django.conf.urls import url,include#fromdjango.contribimportadminfr...
代码星球 ·2020-09-25

golang 使用kcp实例

简介kcp的具体概念与定义自行百度,特性可以浓缩为一句话,和tcp一样可靠,速度比tcp快,是一个用带宽换速度的新型协议。网上的示例代码很少,特此写一篇golang下的kcp实例。PS本文仅对ksp在golang下的基本使用进行示例,具体调优参数需要使用者去官网寻找适配。官方的示例代码太长太花了,特意简约地贴出最简单的...
代码星球 ·2020-09-24

golang中sync.RWMutex和sync.Mutex区别

golang中sync包实现了两种锁Mutex(互斥锁)和RWMutex(读写锁),其中RWMutex是基于Mutex实现的,只读锁的实现使用类似引用计数器的功能.typeMutex  func(m*Mutex)Lock()  func(m*Mutex)Unlock()typeR...

深度解密Go语言之 pprof

目录什么是pprofpprof的作用pprof如何使用runtime/pprofnet/http/pprofpprof进阶RussCox实战查找内存泄露总结参考资料相信很多人都听过“雷神3”关于性能优化的故事。在一个3D游戏引擎的源码里,JohnCarmack将 1/sqrt(x)&n...

golang 日志模块(log)

log模块可以自定义log对象,也可以使用log默认对象的日志方法funcNew创建log对象funcNew(outio.Writer,prefixstring,flagint)*Loggerlogs:=log.New(os.Stdout,"lcoalLog:",0)设置获取日志属性funcFlags获取标识func(...
代码星球 ·2020-09-24

Redcon:快速的Redis服务器Go实现

FastRediscompatibleserverframeworkforGoRedconisacustomRedisserverframeworkforGothatisfastandsimpletouse.Thereasonforthislibraryittogiveanefficientserverfront-en...

MongoDB 谨防索引seek的效率问题(转)

目录背景初步分析索引seeks的原因优化思路小结声明:本文同步发表于MongoDB中文社区,传送门:http://www.mongoing.com/archives/27310最近线上的一个工单分析服务一直不大稳定,监控平台时不时发出数据库操作超时的告警。运维兄弟沟通后,发现在每天凌晨1点都会出现若干次的业务操作失败,...

go map数据结构和源码详解

目录1.前言2.gomap的数据结构2.1核心结体体2.2数据结构图3.gomap的常用操作3.1创建3.2插入或更新3.3删除3.4查找3.5range迭代3.5.1初始化迭代器mapiterinit()3.5.2迭代过程mapiternext()4.gomap的扩容缩容4.1扩容缩容的基本原理4.2为什么叫&ldq...

golang struct组合,转型问题请教

typeActioninterface{OnHurt2(otherAction)GetDamage()int}typeBasestruct{atk,hpint}func(this*Base)OnHurt(other*Base){this.hp-=other.atk}func(this*Base)OnHurt2(othe...

golang继承与接口

结构体Go语言的结构体(struct)和其他语言的类(class)有同等的地位,但Go语言放弃了包括继承在内的大量面向对象特性,只保留了组合(composition)这个最基础的特性。组合甚至不能算面向对象特性,因为在C语言这样的过程式编程语言中,也有结构体,也有组合。组合只是形成复合类型的基础。typeRectstr...
代码星球 ·2020-09-24

Go单引号和双引号区别

首先做个测试,看下面那个选项是正确的:A.str:='abc'+'123'B.str:="abc"+"123"C.str:='123'+"abc"D.str:=`123`+`abc`E.str:=`123`+'abc'F.str:=`123`+"abc"123456正确答案为BDF,为什么是这样呢?这就是Go的特别之处...
代码星球 ·2020-09-24

mongodb中对数组的操作命令

mongodb中对数组的操作命令有$push、$ne、$addtoset、$pop、$pull###addtoset会碰到的问题addtoset解释:往数组里面加入数据,如果数组里已经存在,则不会加入(避免重复)。以加一个加好友的操作为例子,当加好友时,除了好友ID,还需要成为好友的时间戳时(addtime)。{"_i...
代码星球 ·2020-09-24

Golang sync.WaitGroup的用法

经常会看到以下了代码:12345678910111213packagemainimport("fmt""time")funcmain(){fori:=0;i<100;i++{gofmt.Println(i)}time.Sleep(time.Second)}主线程为了等待goroutine都运行完毕,不得不在程序的...
代码星球 ·2020-09-24

Golang的 signal

在实际项目中我们可能有下面的需求:1、修改了配置文件后,希望在不重启进程的情况下重新加载配置文件;2、当用Ctrl+C强制关闭应用后,做一些必要的处理;这时候就需要通过信号传递来进行处理了。golang中对信号的处理主要使用os/signal包中的两个方法:一个是notify方法用来监听收到的信号;一个是stop方法用...
代码星球 ·2020-09-24

golang channel 使用总结

不同于传统的多线程并发模型使用共享内存来实现线程间通信的方式,golang的哲学是通过channel进行协程(goroutine)之间的通信来实现数据共享:Donotcommunicatebysharingmemory;instead,sharememorybycommunicating.这种方式的优点是通过提供原子的...
代码星球 ·2020-09-24
首页上一页...6364656667...下一页尾页