网站首页 成长录 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。

go语言的单元测试
2020-06-09 19:01 admin go单元测试

简单单元测试直接上栗子吧main.go__package测试funcAdd(a,bint)int{returna+b}main_test.go__package测试import"testing"funcTestAdd(t*testing.T){sum:=Add(1,2)ifsum==3{t.Log("theresult...
阅读全文

go语言的命令行操作
2020-06-09 19:01 admin go命令行

gobuildgobuild命令主要是用于测试编译。在包的编译过程中,若有必要,会同时编译与之相关联的包。gocleangoclean命令是用来移除当前源码包里面编译生成的文件,这些文件包括gofmtgofmt命令主要是用来帮你格式化所写好的代码文件。__比如我们写了一个格式很糟糕的test.go文件,我们只需要使用f...
阅读全文

golang游戏2048
2020-06-09 19:01 admin golang游戏

游戏概述有16个格子,初始时会有两个格子上安放了两个数字2,每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方随即出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。主要实现*在空白位置随机生成数字2或者4,这里生成4的概率控制的小一点。大致思路:获取所有空...
阅读全文

AVL二叉树
2020-06-09 19:01 admin 二叉树AVL

AVL二叉查找树AVL二叉查找树是一种特殊的二叉查找树,其规定>每个节点的左子树和右子树的高度差最多是1AVL调整算法AVL树插入一个新的节点到某个节点下破坏AVL树的要求时,对于破坏条件的第一个节点a(最靠近底部/深度最深的节点),具有四种情况:*插入a的左儿子节点的左子树*插入a的左儿子节点的右子树*插入a的右儿子...
阅读全文

Go语言中的map并发读写问题
2020-06-09 19:01 admin gomap

初学Go语言,在使用内置数据结构map的时候遇到一个非常严重的问题。在我的应用场景下,服务端需要每隔一段时间定时从数据库中读取一批数据加载到内存中,这样客户端需要请求相关数据时可以不从数据库中读取,而是直接从内存中获取,大大提高了响应速度。我采用了map来作为缓存数据结构,请求过来直接通过键查找的方式获取map中的数据...
阅读全文

在Golang进化的代理模式
2020-06-09 19:01 admin golang进化

不知道为什么,那么多设计模式里面,对代理模式有一种特别的喜欢。很是喜欢这种切面的思维,将多个相似方法的共同前置和后置抽象出来的实现,真的是觉得很棒。这半年转golang开发之后,终于在前段时间折腾出了golang风格的代理模式--其实已经不是代理模式了,更贴切的说法应该叫Golang的小技巧之一没有对比就没有差距的体现...
阅读全文

Go语言·听说你想让程序运行的更快?
2020-06-09 19:01 admin go程序运行

>>迁移自CSDN:>原文:[http://bravenewgeek.com/so-you-wanna-go->fast/](https://link.jianshu.com?t=http://bravenewgeek.com/so-you-wanna-go->fast/)到现在为止,我已经忘记了我在写什么,但我确定这...
阅读全文

go语言的一些陷阱
2020-06-09 19:01 admin go陷阱

>虽然go语言使用起来方便简单,但他有很多特性是比较与众不同的,在不了解的情况下,编码时候就会产生很多莫名其妙的bug。channelchannel示例代码这里的channel默认是无缓冲的,但是有三个线程往里面写,而函数返回的时候只从中读取了一个,根据channel的特性,另外两个线程(goroutine个人别称线程...
阅读全文

Golang神奇的2006-01-02 15:04:05
2020-06-09 19:01 admin golang神奇

`Golang``日期格式化`热身在讲这个问题之前,先来看一道代码题:__packagemainimport("fmt""time")funcmain(){timeString:=time.Now().Format("2006-01-0215:04:05")fmt.Println(timeString)fmt.Prin...
阅读全文

golang atomic包的使用
2020-06-09 19:01 admin golangatomic

go语言提供的原子操作都是非侵入式的,它们由标准库代码包sync/atomic中的众多函数代表。__我们调用sync/atomic中的几个函数可以对几种简单的类型进行原子操作。这些类型包括int32,int64,uint32,uint64,uintptr,unsafe.Pointer,共6个。这些函数的原子操作共有5种...
阅读全文

go time包的使用
2020-06-09 19:00 admin gotime

类型time.Time{}时间类型,包含了秒和纳秒以及Location__walluint64//秒extint64//纳秒loc*Locationtime.Month()typeMonthint月份.定义了十二个月的常量WeekdaytypeWeekdayint周,定义了一周的七天Durationtime.Durat...
阅读全文

go Goroutine和Channel的使用总结
2020-06-09 19:00 admin goroutinego

GoroutineGoroutine可以被看作是Go语言特有的应用程序线程,__传统的线程通讯:将数据存放在共享内存中,供多个线程中的程序访问。虽然在思路省操作非常简单,但却使并发控制变得相对麻烦。只有做到了各种约束和限制,才可以使这种方法实施。__go语言处理方法:不推荐使用共享内存区的方法传递数据,作为代替,因该优...
阅读全文

go Go和HTTPS
2020-06-09 19:00 admin go

HTTPS(全称:HyperTextTransferProtocoloverSecureSocketLayer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URIscheme(抽象标识符体系),句法类同http...
阅读全文

golang 方法作为参数传递
2020-06-09 19:00 admin golang参数传递

栗子:__import"fmt"import"time"funcgoFunc1(ffunc()){gof()}funcgoFunc2(ffunc(interface{}),iinterface{}){gof(i)}funcgoFunc(finterface{},args...interface{}){iflen(arg...
阅读全文

go 异常处理
2020-06-09 19:00 admin go异常

error接口声明如下:__typeerrorinterface{Error()string}创建errorerr:=errors.New("")//返回的是其返回的error类型值的字符串表现形式__funcNew(textstring)error{return&errorString{text}}err2:=fmt...
阅读全文
顶部 底部