-
Golang学习 - strconv 包
所属栏目:[大数据] 日期:2020-12-16 热度:77
// 将布尔值转换为字符串 true 或 falsefunc FormatBool(b bool) string// 将字符串转换为布尔值// 它接受真值:1,t,T,TRUE,true,True// 它接受假值:0,f,F,FALSE,false,False// 其它任何值都返回一个错误。func ParseBool(str string) (bool,error)--------[详细]
-
Golang的Interface是个什么鬼
所属栏目:[大数据] 日期:2020-12-16 热度:81
Golang的Interface是个什么鬼 问题概述 Golang的interface,和别的语言是不同的。它不需要显式的implements,只要某个struct实现了interface里的所有函数,编译器会自动认为它实现了这个interface。第一次看到这种设计的时候,我的第一反应是:What the fuck[详细]
-
在Golang中设置Cookie(net/http)
所属栏目:[大数据] 日期:2020-12-16 热度:140
我试图设置cookie与Golang的net / http。我有 package mainimport "io"import "net/http"import "time"func indexHandler(w http.ResponseWriter,req *http.Request) { expire := time.Now().AddDate(0,1) cookie := http.Cookie{"test","tcookie","/","www.[详细]
-
golang中并发sync和channel
所属栏目:[大数据] 日期:2020-12-16 热度:88
golang中并发sync和channel golang中实现并发非常简单,只需在需要并发的函数前面添加关键字"go",但是如何处理go并发机制中不同goroutine之间的同步与通信,golang 中提供了sync包和channel机制来解决这一问题. sync 包提供了互斥锁这类的基本的同步原语.[详细]
-
go编程:浅析go程序初始化顺序
所属栏目:[大数据] 日期:2020-12-16 热度:146
在一个 go 程序中通常包含:包、常量、变量、init()、main()等元素,如果同时存在多个包,包之间存在依赖关系,每个包中存在多个 init 函数,每个文件中存在多个 init 函数,那么问题来了,他们之间的执行顺序是什么样的?通过本文我们来对它们之间的执行顺[详细]
-
golang设计模式之简单工厂模式
所属栏目:[大数据] 日期:2020-12-16 热度:83
1. 写在前面 在面向对象的编程语言中(如java,C++)设计模式的概念广为人知,应用的也非常广泛。设计模式让我们的代码变得灵活起来,具有很强的扩展性。但在与C语言比肩的Go语言中,设计模式的概念并没有十分突出,甚至很少听到。在Go的开发中,借鉴design p[详细]
-
golang实现图片颜色反转、图片灰度、转为字符画
所属栏目:[大数据] 日期:2020-12-16 热度:108
看到网上很多通过字符形成的画,觉得很好玩,于是网上搜索了下原来叫字符画。 见百度百科:https://baike.baidu.com/item/%E5%AD%97%E7%AC%A6%E7%94%BB/1347002 发现了一篇文章手把手教你图片转ASCII码图 这篇文章采用的是javascript编写的,讲了其中的缘由[详细]
-
golang设计模式之工厂方法模式
所属栏目:[大数据] 日期:2020-12-16 热度:150
1. 概述 简单工厂模式是通过传递不同的参数生成不同的实例,缺点就是扩展不同的类别时需要修改代码。 工厂方法模式为每一个product提供一个工程类,通过不同工厂创建不同实例。 类图: 相关源代码demo在Github上,可供参考! 2. 实现过程 工厂方法定义一个创[详细]
-
golang设计模式之建造者模式
所属栏目:[大数据] 日期:2020-12-16 热度:104
1. 概述 建造者模式将一个复杂的对象与它的表示分离,同样的创造过程可以建造出不停的表示。比如汽车,它包括商标、车轮、颜色、发送机等各种部分。而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车[详细]
-
Go Assembly 学习笔记
所属栏目:[大数据] 日期:2020-12-16 热度:55
最近升级 go1.9,发现一个获取 goroutine id 的依赖没有支持1.9,于是手动写了一个,顺便学习一下 go assembly。希望你看完这篇文章后,对go汇编有一定的了解。 Go Assembly 首先安利一个获取当前goroutine id 的library,gid,支持 go1.7 - go1.9,可能是目前[详细]
-
Golang学习之同一个package中函数互相调用的问题
所属栏目:[大数据] 日期:2020-12-16 热度:112
问题代码如下 a. go : package main func main(){ Test()} b. go : package main import "fmt" func Test(){ fmt.Println( "Hello World!" )} 这两个文件都在同一个文件夹下 为什么在编译的时候提示: command -line-arguments . a .go: 4 : undefined: Tes[详细]
-
Golang学习之函数式编程(闭包)
所属栏目:[大数据] 日期:2020-12-16 热度:124
github:https://github.com/ZhangzheBJUT/blog/blob/master/closure.md 一 函数式编程概论 在过去近十年时间里,面向对象编程大行其道,以至于在大学的教育里,老师也只会教给我们两种编程模型,面向过程和面向对象。孰不知,在面向对象思想产生之前,函数[详细]
-
golang-defer坑的本质
所属栏目:[大数据] 日期:2020-12-16 热度:192
本文节选自https://tiancaiamao.gitbooks.io/go-internals/content/zh/03.4.html 作者的分析非常透彻,从问题本质分析,就不会对defer产生的副作用产生迷茫。 defer坑的本质是: 本质原因是return xxx语句并不是一条原子指令,defer被插入到了赋值 与 ret之[详细]
-
go的grpc实现
所属栏目:[大数据] 日期:2020-12-16 热度:134
??gRPC是Google的RPC框架, 开源、高性能、跨语言 ,基于HTTP/2通讯协议和Protocol Buffer 3数据序列化协议。 过程如下图所示: ??调用的双方可以使用完全不同的两种语言来实现,分别实现client端和server端,按照约定的protobuf协议进行交互。client端会保[详细]
-
08-Thrift高级2
所属栏目:[大数据] 日期:2020-12-16 热度:193
# Thrift高级2 由于之前是使用C++做的,有很多不便,这里尝试使用golang制作thrift over http服务和客户端。 服务器 有句话说的好,远在天边,尽在眼前。 想要制作这个主题时,google了半天也没有一个靠谱的。实在没办法了,翻了翻test项目,哈哈,就有了现[详细]
-
Golang中参数传递详解
所属栏目:[大数据] 日期:2020-12-16 热度:179
本文原创文章,转载注明出处,博客地址 https://segmentfault.com/u/to... 第一时间看后续精彩文章。觉得好的话,顺手分享到朋友圈吧,感谢支持。 关于参数传递,Golang文档中有这么一句: after they are evaluated,the parameters of the call are passed by val[详细]
-
Golang中Buffer高效拼接字符串以及自定义线程安全Buffer
所属栏目:[大数据] 日期:2020-12-16 热度:113
本文原创文章,转载注明出处,博客地址 https://segmentfault.com/u/to... 第一时间看后续精彩文章。觉得好的话,顺手分享到朋友圈吧,感谢支持。 Go中可以使用“+”合并字符串,但是这种合并方式效率非常低, 每合并一次,都是创建一个新的字符串,就必须遍历复[详细]
-
golang数据类型与MySQL数据类型的对应
所属栏目:[大数据] 日期:2020-12-16 热度:141
本文原创文章,转载注明出处,博客地址 https://segmentfault.com/u/to... 第一时间看后续精彩文章。觉得好的话,顺手分享到朋友圈吧,感谢支持。[详细]
-
Golang中Slice的append详解
所属栏目:[大数据] 日期:2020-12-16 热度:84
本文原创文章,转载注明出处,博客地址 https://segmentfault.com/u/to... 第一时间看后续精彩文章。觉得好的话,顺手分享到朋友圈吧,感谢支持。 在Golang语言中,数据类型不多,但是够用,开发项目过程中,Slice属于最常用的数据结构之一,对其原理理解不清楚,很容[详细]
-
抽奖问题分析
所属栏目:[大数据] 日期:2020-12-16 热度:180
本文原创文章,转载注明出处,博客地址 https://segmentfault.com/u/to... 第一时间看后续精彩文章。觉得好的话,顺手分享到朋友圈吧,感谢支持。 普通抽奖问题 问题描述 用户随机抽奖,数据如下: // map中,key代表用户名,value代表成用户下单数var users map[s[详细]
-
可带癞子的通用麻将胡牌算法
所属栏目:[大数据] 日期:2020-12-16 热度:166
本文原创文章,转载注明出处,博客地址 https://segmentfault.com/u/to... 第一时间看后续精彩文章。觉得好的话,顺手分享到朋友圈吧,感谢支持。 笔者前段时间做过一款地方麻将游戏的后端,麻将游戏有个特点就是种类繁多,有的玩法木有癞子,有的玩法有4个癞子,有[详细]
-
在Golang中将整数转换为浮点数
所属栏目:[大数据] 日期:2020-12-16 热度:106
如何将整数值转换为float64类型? 我试过了 float(integer_value) 但这不工作。并且找不到任何这样做在Golang.org的包。 如何从整数值获取float64值? 没有浮点类型。看起来你想要float64。如果只需要单精度浮点值,也可以使用float32。 package mainimport[详细]
-
数组 – Golang – 正确的方式来初始化空片
所属栏目:[大数据] 日期:2020-12-16 热度:90
要声明一个具有非固定大小的空切片, 是更好的做: mySlice1 := make([]int,0) 要么 : mySlice2 := []int{} 只是想知道哪一个是正确的方式。 干杯 你给出的两个选择在语义上是相同的,我假设它们产生相同的汇编指令。 为了避免不必要的分配,如果你最终不使[详细]
-
Go实战--golang中执行cron job定时任务(robfig/cron和jasonlvhit
所属栏目:[大数据] 日期:2020-12-16 热度:184
生命不止,继续 go go go !!! 今天,跟大家分享的是在golang中执行定时任务,主要介绍两个github上的开源库的使用。 Linux下crontab crontab 命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。 该命令从标准输入设备读取指令,并将其存放[详细]
-
golang fmt格式“占位符”
所属栏目:[大数据] 日期:2020-12-16 热度:109
golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 # 定义示例类型和变量 type Human struct { Name string } var people = Human { Name : "zhangsan" } 普通占位符占位符 说明 举例 输出%v 相应值的默认格式。 Printf ( "%v" ,people) {zh[详细]
