给GO 语言新手:8个实战教程

前言: 学习GO语言的人多半是自学,自学就涉及到找教程的问题,因为GO语言不如其他流行语言应用那么广众,所以资源自然没那么普遍,系统的教程更是比较少。 文章就整理了8个GO语言教程,有基础、有实战项目...

Go by Example 中文版(实例学习 Go 语言)

前言: Go by Example 是一个实践性的教程,通过带注释的程序实例去学习 Go 语言。希望本文能给你在学习 Go 语言的过程中提供思路和源码方面的参考,请按照教程在线完成代码并理解每行代码。...

Go性能优化技巧 1/10

字符串(string)作为一种不可变类型,在与字节数组(slice, [ ]byte)转换时需付出 “沉重” 代价,根本原因是对底层字节数组的复制。这种代价会在以万为单位的高并发压力下迅速放大,所以对...

用 Go 构建一个区块链 -- Part 4: 交易(1)

翻译的系列文章我已经放到了 GitHub 上:blockchain-tutorial,后续如有更新都会在 GitHub 上,可能就不在这里同步了。如果想直接运行代码,也可以 clone GitHub ...

Go语言小贴士3 - bufio包

之前我们介绍了io包和协议解析,这次我们要来讲讲bufio包,这个包实现了在项目中很常用到的带缓冲的IO。先从我们前一个小贴士中的分包代码讲起,重新贴一下这段代码:func ReadPacket(co...

Gin实战:Gin+Mysql简单的Restful风格的API

我们已经了解了Golang的Gin框架。对于Webservice服务,restful风格几乎一统天下。Gin也天然的支持restful。下面就使用gin写一个简单的服务,麻雀虽小,五脏俱全。我们先以一...

字节序及 Go encoding/binary 库

最近工作之余在研究比特币 Go 实现源码,当看到 wire 部分时,发现测试代码里面初始化区块头整型字段十六进制的字节序都反转存储。 nonce := uint32(123123) // 0x1e0f...

源码包阅读 buffer

这里是我的语雀 https://www.yuque.com/abs buffer.go Overview 这是 bytes 包里的 buffer 实现 一图胜千言 看不懂图的再看下面吧 核心函数 Bu...

服务端 I/O 性能大比拼:Node、PHP、Java 和 Go

理解应用程序的输入/输出(I/O)模型,意味着其在计划处理负载与残酷的实际使用场景之间的差异。若应用程序比较小,也没有服务于很高的负载,也许它影响甚微。但随着应用程序的负载逐渐上涨,采用错误的I/O模...

Character Specifications for A Word in Golang

序言 两个月前,笔者有幸参加了一次Code Retreat活动,主要负责点评Golang小组的代码,整个过程很有收获,尤其到了活动的最后,重量级大咖 刘光聪 分享了他C++版和Scala版的作品,让人...

go语言里面receiver应该定义成一个值还是指针

go语言里面receiver应该定义成一个值还是指针,比如 func (s *MyStruct) pointerMethod() { } // method on pointer func (s My...

Go 性能优化技巧 2/10

对于一些初学者,自知道 Go 里面的 array 以 pass-by-value 方式传递后,就莫名地引起 “恐慌”。外加诸多文章未作说明,就建议用 slice 代替 array,企图避免数据拷贝,提...

TensorFlow for Go

go语言有着很好的潜力,最近TensorFlow提供了go语言的API.这些API特别适合加载Python中创建的模型,并在Go应用程序中执行它们。不过这些API还没有很稳定,目前也只是支持Linux...

Go语言小贴士2 - 协议解析

今天这个小贴士主要介绍协议解析的一些知识,Go语言作为服务端编程语言,免不了要涉及到通讯协议解析,即便不是做网络通讯,也难免会涉及到文件解析,其实它们的知识点都是一样的。现实应用场景中,通讯协议按通常...

Golang 持久化

持久化 程序可以定义为算法+数据。算法是我们的代码逻辑,代码逻辑处理数据。数据的存在形式并不单一,可以存在数据库,文件。无论存在什么地方,处理数据的时候都需要把数据读入内存。如果直接存在内存中,不就可...

Go 实现比特币多重签名服务

使用 Go 写了个比特币多重签名的服务,这篇文章总结服务的结构及实现思路。 源码中主要涉及到的 Go package : dep Go package 管理工具 cobra 实现 cli LevelD...

在同一台1核1G的服务器上,go写的web应用是不是比python写的能支持更多人访问?

小弟新人,打算入坑学习go, 目前的网站用的是python中的django 网站是前后分离,所以 django只是提供了api接口 我听朋友说,go的性能比python好了不少, 所以来到这里问问各位...

股权众筹鼻祖Naval Ravikant发表36条对于区块链乃至整个世界的思考,不得不读!

原文: Blockchain TweetStorm    译者: 安翔 当走过史前纪事、中本魔咒、以太野望、沧海横流,发展了几近半个世纪的区块链已然成为了一种社...

经典排序算法总结与Go实现

学习Go语言第二周,本周任务尝试实现七大经典排序算法以及分析算法复杂度、优劣及应用场景等,七大经典算法分别为冒泡排序,插入排序,选择排序,希尔排序,归并排序,快速排序,堆排序。 冒泡排序 思路 正如“...

golang利用channel实现线程同步互斥信号量

1、利用channel实现线程互斥 package main import ( "fmt" "sync" ) var value int = 0 func add(ch...