![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
花大师
不要假装很努力,结果不会陪你演戏!
展开
-
怎样提升go中的RSA解密速度2~3倍
go rsa boring 如何提升go解密rsa速度原创 2023-01-02 08:09:27 · 866 阅读 · 5 评论 -
GPM解释
字符串:两个字符串比较,必须总是使用equals()方法。要忽略大小写比较,使用equalsIgnoreCase()方法。原创 2022-11-26 10:27:53 · 1306 阅读 · 0 评论 -
小的代码段
package mainimport ( "bufio" "fmt" "os")func main() { r := bufio.NewReader(os.Stdin) result, err := r.ReadString('\n') if err != nil { fmt.Println(err) } fmt.Println(result)}package mainimport ( "fmt" "os")func main() { //v.原创 2022-03-20 10:33:36 · 471 阅读 · 0 评论 -
go pack和unpack
package mainimport ( "bytes" "encoding/binary" "fmt" "log" "math" "strconv" "strings")type Protocol struct { Format []string}func main() { str := "693a0210afc541528457ac135a3fca38" p := &Protocol{} s2 := p.HexStringToByte(str) s1 :.原创 2021-09-10 10:16:31 · 1394 阅读 · 0 评论 -
go常用的判断
var str string 字符串初始化为""只能通过len(str)而不能通过nil判断var i int int初始化为0 ,只能通过i == 0,而不能通过nil判断var b bool 初始化为false,只能通过b == true ,而不能通过nil判断var bb []byte 初始化为[],可以用len(bb) 或bb == nil ,而不能通过bb == ""判断var c [1] int 初始化为[0]填充了默认值0,可以用len(c)或cap(c),而不能用 c=...原创 2021-03-20 22:06:20 · 231 阅读 · 0 评论 -
go的可变参数
可变函数条件: 1、最后一个参数使用... 2、如果把可变参数放在参数前面会把所有的参数都作为可变参数,编译也会报错syntax error: cannot use … with non-final parameter 3、可变参数需要用 range来循环 4、可变参数其实是个切片[] slice运行原理: 1、首先会把可变参数转为相应类型的slice 2、再把这个切片传递给函数可变参数vs切片 1、提高阅读性 2、每次调用函数都需要创建...原创 2021-03-17 10:28:24 · 281 阅读 · 0 评论 -
常见错误每日一练01
1、defer和panic的使用package mainimport "fmt"func main() { //该题主要是考defer和panic //defer是函数执行完成之后,panic执行之前打印,故而打印顺序 //打印后 //打印中 //打印前 //panic: 出发异常 defer_call()}func defer_call() { defer func () { fmt.Println("打印前") }() defer func () { fm原创 2021-03-16 10:15:34 · 128 阅读 · 0 评论 -
谈谈go的结构体struct
一直以为struct是存储数据用的,直到今天在写代码的时候,goland给出来的提示f就是我们平常说的fieldm就是method。想想我们平常写类,不就是类吗?只是god的封装用的是首字母大小写而已。<?phpclass A { protected $a; public function aaa(){ }}?>...原创 2021-02-23 15:12:44 · 225 阅读 · 0 评论 -
go为什么快
参考文献:https://studygolang.com/articles/26879?fr=sidebargo快的主要原因:1、上下文切换代价小: Goroutine 上下文切换只涉及到三个寄存器(PC / SP / DX)的值修改; 而对比线程的上下文切换则需要涉及模式切换(从用户态切换到内核态)、以及 16 个寄存器、PC、SP…等寄存器的刷新;因为在核心上交换线程会花费很多时间。上下文切换的延迟取决于不同的因素,大概在在 50 到 100 纳秒之间。考虑到硬件平均在每个核心上每...原创 2020-05-23 09:08:50 · 336 阅读 · 0 评论 -
goroutine理解
goroutine 相较于线程更加轻量,关键点就在于栈空间的动态分配,这样便可以最大限度的利用内存资源以 64位环境的 JVM 为例,会默认固定为每个线程分配 1MB 栈空间,如果大小分配不当,便会出现栈溢出的问题当一个goroutine被创建时,runtime会为协程分配 8KB 的内存区域从GO1.4之后,开始正式使用了连续栈机制。栈拷贝开始很像分段栈。协程运行,使用栈空间,...原创 2019-12-23 09:42:31 · 210 阅读 · 0 评论 -
go语言-简版教程
1、go数据类型常用类型: 布尔类型: true,false 数字类型: unit8[u代表无符号unsingal],unit16,unit32,unit64 int8,int16,int32,int64 ...原创 2018-11-19 20:04:52 · 130 阅读 · 0 评论 -
go 通过get进行下载
真是坑爹,搞了一晚上,发现go get github.com/gin-gonic/gin 的时候一定要带上参数-x,否则你都不知道做了些什么原创 2018-12-04 21:26:02 · 1986 阅读 · 1 评论 -
go-包引用
最近在学习Go编程,本文简单的叙述如何在Go编程中使用包(包管理)。 和其他大多数语言一样,Go也存在包,并使用package关键字定义一个包。首先介绍在程序中如何引入包,引入包有以下几种方式: 1\. 最简单的方式引入一个包的方式是直接引入包,例如:** import "fmt"**** import "os"**2\. 也可以通过下面的方式将包一块引入,并...原创 2018-11-28 20:20:04 · 175 阅读 · 0 评论 -
go 时间转换
package mainimport( "fmt" "time" _"strconv")func main(){ tm := time.Now() str := fmt.Sprintf("%d-%d-%d",tm.Year(),tm.Month(),tm.Day()) fmt.Println(str) fmt.Println(_tim...原创 2018-12-12 14:49:34 · 1004 阅读 · 0 评论 -
gin框架安装
为了研究gin框架,真是废了大劲了,因此做下记录,在安装前,烧香拜佛保佑顺利。执行 go get -x github.com/gin-gonic/gin 如果顺利,真要感谢老天爷如果不顺利碰到:(1)package gopkg.in/go-playground/validator.v8: gopkg.in/go-playground/validator.v8 is a c...原创 2018-12-05 21:15:27 · 6183 阅读 · 1 评论 -
go框架gin安装
最近对go的框架进行了对比,决定用gin安装与配置安装:$ go get gopkg.in/gin-gonic/gin.v1注意:确保 GOPATH GOROOT 已经配置导入:import "gopkg.in/gin-gonic/gin.v1"...转载 2018-12-03 19:15:22 · 2079 阅读 · 0 评论 -
gin 入门教程
周日花时间研究了gin框架的使用,基本上还算满意。参考:https://blog.csdn.net/u010649766/article/details/79458004代码参考:https://github.com/onebig32/gin-learn教程代码:https://github.com/caogenlaoxian/golang/tree/master/app本文的实现...原创 2018-12-16 16:59:01 · 11398 阅读 · 0 评论 -
gin 渲染不同目录下的模板(支持多层目录)
一直在学着使用gin,今天试了下gin的模板渲染,一路比较坑。真要吐槽下某度,啥都没有。参考资料:https://www.bookstack.cn/read/gin-doc/response.mdhttps://juejin.im/post/5b026a4c6fb9a07aac24c122https://blog.csdn.net/moxiaomomo/article/details/...原创 2018-12-25 17:40:09 · 6110 阅读 · 1 评论 -
go 处理json复杂解析
最近在学习go,发现go的json设计特别蛋疼,要解析出来一个json,需要预先定义struct,这对于用惯php的人来讲特别繁琐,因此引入了第三方的类库jsoniter,现在把对jsoniter的研究记录下,代码不一定高效,但一定能用1、下载jsoniter类库 github地址:https://github.com/json-iterator/go 文档中有安装...原创 2019-01-05 16:18:13 · 9453 阅读 · 1 评论 -
go 单链表 增删改查
package mainimport "fmt"//链表和数据结构type Node struct{ data string next *Node}type List struct{ Head *Node}//链表是否为空func (this *List) IsEmpty() bool{ if this.Head == nil { return true }...原创 2019-09-28 19:01:43 · 371 阅读 · 0 评论 -
go实现数组栈
package mainimport ( "fmt" "github.com/pkg/errors" "strconv")const ( SIZE = 10)//数组实现顺序栈type Lister interface { New() *ArrayList Size() int Get(index int)(interface{},error) Append(da...原创 2019-10-11 19:59:04 · 152 阅读 · 0 评论 -
go环境安装及nginx部署
感谢:https://blog.csdn.net/lunhui1994_/article/details/78668697提供的下载地址如果想安装更高的版本,访问:https://studygolang.com/dl(2018-12-04更新)(1)先找到对应的下载安装包 下载: wget https://studygolang.com/dl/golang/go1....原创 2018-11-08 14:16:10 · 2310 阅读 · 0 评论