-
Raspberry Pi with Go lang
所属栏目:[大数据] 日期:2020-12-16 热度:124
// This program achieves LED blink on Raspberry Pi with Go lang.// This is implemented with hard-coding and uses only main function.package mainimport ( "fmt" "os" "time")func main() { // Initialize GPIO25 fmt.Println("Initialize GPIO25")[详细]
-
为GoLang增加aes的ECB模式支持
所属栏目:[大数据] 日期:2020-12-16 热度:98
项目里要用到aes加密(由于历史原因,必须采用ECB模式)。 在使用golang进行重构时发现,golang居然不支持ecb模式!原因很简单:因为安全问题。 Golang AES ECB Encryption http://stackoverflow.com/questions/24072026/golang-aes-ecb-encryption https://[详细]
-
用Go开发WeChat接口的一个小坑
所属栏目:[大数据] 日期:2020-12-16 热度:166
年前公司接入了微信国际版的支付,当时WeChat Wallet本身的接口还没开发完(上几周WeChat Wallet 终于结束灰度全面开放了), 接入时踩了一大堆坑。 除了当时因为给的文档并不全或错误造成的一些困扰外, 另外有个接口问题折磨了好一阵。 当时有这样一个问题,[详细]
-
GoLang channel 用法转的
所属栏目:[大数据] 日期:2020-12-16 热度:98
一、Golang并发基础理论 Golang在并发设计方面参考了C.A.R Hoare的CSP,即Communicating Sequential Processes并发模型理论。但就像John Graham-Cumming所说的那样,多数Golang 程序员 或爱好者仅仅停留在“知道”这一层次,理解CSP理论的并不多,毕竟多数程[详细]
-
golang 环境变量配置
所属栏目:[大数据] 日期:2020-12-16 热度:200
GOPATH 为工作目录 goroot 为GO程序安装目录 exportGOPATH="/data/go/www"exportGOROOT="/usr/local/go"exportPATH=$PATH:/usr/local/go/bin[详细]
-
变量替换代码片段
所属栏目:[大数据] 日期:2020-12-16 热度:103
代码片段分享 package mainimport ("bufio""bytes""io/ioutil""os""path/filepath""strings""sync""time")func main() {M := ReadStaticAndVariable("staticTovariable")if len(os.Args) != 2 {println("args error.")return}list,err := GetConfigFiles(os.[详细]
-
golang走起(一)对象与指针
所属栏目:[大数据] 日期:2020-12-16 热度:159
golang走起(一)对象与指针 代码如下: package main import ( "fmt" ) type Person struct { age int } func Create(a int ) (p Person) { return Person{age: a}} func Add(p Person) { p.age += 10 } func Add1(p *Person) { p.age += 10 } func main()[详细]
-
golang走起(二)对象与指针二
所属栏目:[大数据] 日期:2020-12-16 热度:116
golang走起(二)对象与指针二 代码如下: package main import ( "fmt" ) type Person struct { age int } func Create(a int ) (p Person) { return Person{age: a}} func (p Person) Add() { p.age += 10 } func (p *Person) Add1() { p.age += 10 } func[详细]
-
golang走起(三)list简单使用和interface{}
所属栏目:[大数据] 日期:2020-12-16 热度:139
golang走起(三)list简单使用和interface{} 代码如下: package main import ( "container/list" "fmt" ) type Person struct { age int } func main() { l := list.New() for i := 0 ; i 5 ; i++ { p := Person{age: i * 10 } l.PushBack(p) } for i := 5[详细]
-
golang走起(四)执行命令行
所属栏目:[大数据] 日期:2020-12-16 热度:119
golang走起(四)执行命令行 代码如下: package main import ( "flag" "fmt" ) var ( x = flag.Int( "x" , 10 , "input x" ) y = flag.Int( "y" , 20 , "input y" ) s = flag.String( "s" , "hello world" , "input string" )) func main() { flag.Parse()[详细]
-
Atitit.go语言golang语言的新的特性attilax总结
所属栏目:[大数据] 日期:2020-12-16 热度:112
Atitit.go 语言 golang 语言的新的特性 attilax 总结 1 . 继承树 less 动态接口 1 1 .1. 按照书中说的,Go语言具有以下的特征,下面我们分别来进行介绍。 q自动 垃圾回收 q 2 1 .2. 更丰富的内置类型 2 1 .3. .更丰富的内置类型 2 1 .4.错误处理defer 3 1 .5[详细]
-
Golang(Go语言)的三大设计目标
所属栏目:[大数据] 日期:2020-12-16 热度:145
1.编译快 2.运行快 3.容易写 一般语言都只满足其中一两者,但是Go语言却找到了一个平衡点,同时满足这三个要求。目前比较适合做相对底层一点的东西,比如云计算、数据库、服务器后端等方面的,有些人可能不喜欢golang的语法,认为限制太多,比如大括号不能抬[详细]
-
golang--sync.WaitGroup使用示例
所属栏目:[大数据] 日期:2020-12-16 热度:149
golang中有2种方式同步程序,一种使用channel,另一种使用锁机制。使用channel的案例可以参考我的博客:golang--使用channel来同步goroutine,这里要涉及的是锁机制,更具体的是sync.WaitGroup,一种较为简单的同步方法集。 sync.WaitGroup只有3个方法,Add([详细]
-
golang--Redis最佳的Go语言驱动
所属栏目:[大数据] 日期:2020-12-16 热度:58
Redis可以缓存数据,这使得操作数据可以达到一个较快的速度,在一些需要数据较快存储的场合,例如微博,redis发挥着不可替代的作用。 在redis的官网,golang驱动有几个,忽然来了兴致,那个才是redis最佳的Go语言驱动? 这些驱动都处于开发的前期,还没有发[详细]
-
golang--gorilla/context,golang之单例模式
所属栏目:[大数据] 日期:2020-12-16 热度:143
gorilla是用golang写的web工具箱,里面提供了一系列的工具。在用golang开发web中,搭配gorilla可以加快整个开发的进程。gorilla的官网在这里,代码托管在github,这里要看的是gorilla/context。 在context文件夹里面,有个context.go文件,里面就是context包[详细]
-
golang--读uniqush看http.Handle
所属栏目:[大数据] 日期:2020-12-16 热度:68
uniqush是一款用golang写的推送服务工具,它的介绍在这里。官网在这里,源码托管在github。uniqush现在的版本是1.4.2, 在我们国人用golang写的代码中,这个应该算是出类拔萃的。 在main.go文件里面的main()函数,直接就运行Run()函数,它会返回一个error值[详细]
-
golang--从类型转换角度看interface
所属栏目:[大数据] 日期:2020-12-16 热度:106
刚开始接触golang,可能对interface的使用有些迷惑,尤其在有些资料里,介绍得更是云里雾里,让人搞不清楚。本文尝试从类型转换的角度来解析interface,希望对大家能有所帮助。不多说,先上代码。 package main import ( " fmt " ) func main() { var genera[详细]
-
golang--类似mochiweb的多进程监听tcp链接
所属栏目:[大数据] 日期:2020-12-16 热度:129
用Erlang开发web,很可能就会使用到mochiweb。mochiweb使用16个Erlang式的进程来监听tcp链接,使得任何链接进来都会很快得到处理。Golang跟Erlang很像,在这里实现了一个类似mochiweb的tcp监控链接,一个简单的echo服务器。先看代码。 1 package main 2 3 im[详细]
-
golang--零下线时间式重启
所属栏目:[大数据] 日期:2020-12-16 热度:160
在Hacker News看到用Go达到 Zero-downtime restarts,意思大概为零下线时间式重启,很早就知道nginx可以轻松做到平滑重启,一直都想用go来实现这样的功能。看了一下它的代码实现,所以有了这篇博文。 项目名字叫goagain,地址在:https://github.com/rcrowle[详细]
-
golang中的检验hash
所属栏目:[大数据] 日期:2020-12-16 热度:64
1.对字符串进行hash 大家可以看一下, SHA1 Hashes Go by Example写道: The pattern for generating a hash is sha1.New(),sha1.Write(bytes),then sha1.Sum( [] byte{}). 附上golang代码 package main import ( "crypto/sha1" "fmt" ) func main() { s : =[详细]
-
golang--gorilla/mux,强大的URL路由和调度器
所属栏目:[大数据] 日期:2020-12-16 热度:180
标题完全是翻译,gorilla/mux is a powerful URL router and dispatcher,不过个人觉得翻译不到位,望指正。 gorilla/mux包是加一层结构,在这个结构里面配置客户端访问时需要的各种参数,然后传给http.Handle()函数。如果各位有看我的博客,就会了解它的结[详细]
-
golang--监控goroutine异常退出
所属栏目:[大数据] 日期:2020-12-16 热度:156
在golang中,我们可以很轻易产生数以万计的goroutine,不过这也带来了麻烦:在运行中某一个goroutine异常退出,怎么办? 在erlang中,有link原语,2个进程可以链接在一起,一个在异常退出的时候,向另一个进程呼喊崩溃的原因,然后由另一个进程处理这些信号[详细]
-
golang--使用channel来同步goroutine
所属栏目:[大数据] 日期:2020-12-16 热度:136
在golang中同步goroutine有2种方法,要么使用channel,要么使用sync.WaitGroup,本文就是介绍如何通过channel来同步goroutine。先看代码。 1 package main 2 3 import ( 4 " os " 5 " os/signal " 6 " runtime " 7 " log " 8 " syscall " 9 ) 10 11 const NU[详细]
-
Golang语法总结(一):关键字和注释方法
所属栏目:[大数据] 日期:2020-12-16 热度:90
Go的关键字 golang的关键字很少,只有25个: break、default、func、interface、select、case、defer、go、map、struct、chan、else、goto、package、switch、const、fallthrough、if、range、type、continue、for、import、return、var Go的注释方法 和其他[详细]
-
Golang语法总结(二):程序结构
所属栏目:[大数据] 日期:2020-12-16 热度:72
源文件后缀为:.go,比如 hello.go Go程序是用package来组织的,在源文件第一个非注释行声明包,比如:package main 只有package为main的包才能包含main函数(程序的入口),并且一个可执行程序有且仅有一个main包 通过import关键字导入其它包,两种用法: 1.[详细]
