-
设置Golang的GOPATH
所属栏目:[大数据] 日期:2020-12-16 热度:65
Go是一门全新的静态类型开发语言,具有 自动垃圾回收 , 丰富的内置类型 , 函数多返回值 , 错误处理 , 匿名函数 , 并发编程 , 反射 等特性. golang安装 golang下载 sudo tar -zvxf go1. 6.2 .linux-amd64.tar.gz sudo mv go /usr/local/go #设置环境变量[详细]
-
Golang测试技术
所属栏目:[大数据] 日期:2020-12-16 热度:51
本篇文章内容来源于Golang核心开发组成员Andrew Gerrand在Google I/O 2014的一次主题分享“Testing Techniques”,即介绍使用Golang开发 时会使用到的测试技术(主要针对单元测试),包括基本技术、高级技术(并发测试、mock/fake、竞争条件测试、并发测试、[详细]
-
golang时间格式化
所属栏目:[大数据] 日期:2020-12-16 热度:76
package mainfunc main(){ fmt.Println(time.Now().Format("2006"))fmt.Println(time.Now().Format("2006-01"))fmt.Println(time.Now().Format("2006-01-02"))fmt.Println(time.Now().Format("2006-01-02 15"))fmt.Println(time.Now().Format("2006-01-02 15[详细]
-
Golang tls 链接通信
所属栏目:[大数据] 日期:2020-12-16 热度:177
package tcp_listenimport ("crypto/rand""crypto/tls""net")func Servertls(addr,crt,key string) (net.Listener,error) {cert,err := tls.LoadX509KeyPair(crt,key)if err != nil {return nil,err}config := tls.Config{Certificates: []tls.Certificate{c[详细]
-
Go语言为什么这么流行?
所属栏目:[大数据] 日期:2020-12-16 热度:75
这个问题很复杂,多方面原因决定了Golang的实用价值。 Go语言的背景 Go的吉祥物Gordon田鼠,是由Google公司创造一种新程序语言,并且公司为这门语言付出了极大的努力。Go语言一出现就获得业界的普遍关注和使用。为什么呢? Go具有一些多数程序语言没有的资产[详细]
-
golang交叉编译
所属栏目:[大数据] 日期:2020-12-16 热度:60
记录点分享http://gitos.org/2016/04/24/golang-cross-compiler/ 一 环境安装 在苹果系统上安装golang环境非常简单,用brew直接 brewinstallgo 就可以安装好golang的开发环境. 如果没有安装brew,则强烈建议安装. 实在不想的,那么就下着mac版的golang,在 ~/.ba[详细]
-
golang sync WaitGroup
所属栏目:[大数据] 日期:2020-12-16 热度:125
golang sync WaitGroup 刚才看golang的sync的包,看见一个很有用的功能。就是WaitGroup。 先说说WaitGroup的用途:它能够一直等到所有的goroutine执行完成,并且阻塞主线程的执行,直到所有的goroutine执行完成。 WaitGroup总共有三个方法:Add(delta int),D[详细]
-
golang sync WaitGroup
所属栏目:[大数据] 日期:2020-12-16 热度:59
golang sync WaitGroup 刚才看golang的sync的包,看见一个很有用的功能。就是WaitGroup。 先说说WaitGroup的用途:它能够一直等到所有的goroutine执行完成,并且阻塞主线程的执行,直到所有的goroutine执行完成。 WaitGroup总共有三个方法:Add(delta int),D[详细]
-
Golang 连接MySql数据库使用方法
所属栏目:[大数据] 日期:2020-12-16 热度:97
package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql")var (dbhostsip = "127.0.0.1:3306"//IP地址dbusername = "root"//用户名dbpassword = "123456"//密码dbname = "Test"//表名)func main() {db,err := sql.Open("mysql","root:12[详细]
-
Go语言三大框架点评
所属栏目:[大数据] 日期:2020-12-16 热度:140
2016-03-01 John Lau 高扩展架构及技术 了解了基本的Go语言web框架,下面将对这些框架做个点评。 1 Beego Beego 作为一个功能强大的MVC框架,具备与Rails同级别的特性,并且吸收了Python框架 Tornado 和 Flask 的高级特性 。它是一个大的框架,拥有自己的日[详细]
-
Golang之bytes.buffer学习笔记
所属栏目:[大数据] 日期:2020-12-16 热度:74
bytes.buffer是一个缓冲byte类型的缓冲器存放着都是byte Buffer 是 bytes 包中的一个 type Buffer struct{…} A buffer is a variable-sized buffer of bytes with Read and Write methods. The zero value for Buffer is an empty buffer ready to use. ([详细]
-
golang 的 channel 实现 生产者/消费者 模型
所属栏目:[大数据] 日期:2020-12-16 热度:97
package mainimport ( "fmt" "math/rand" "time")func productor(channel chan- string) { for { channel - fmt.Sprintf("%v",rand.Float64()) time.Sleep(time.Second * time.Duration(1)) }}func customer(channel -chan string) { for { message := -chan[详细]
-
golang模板语法简明教程
所属栏目:[大数据] 日期:2020-12-16 热度:86
golang模板语法简明教程 【模板标签】 模板标签用"{{"和"}}"括起来 【注释】 {{/* a comment */}} 使用“{{/*”和“*/}}”来包含注释内容 【变量】 {{.}} 此标签输出当前对象的值 {{.Admpub}} 表示输出Struct对象中字段或方法名称为“Admpub”的值。 当“Adm[详细]
-
Golang(Go语言)中append函数返回值必须有变量接收的原因探究
所属栏目:[大数据] 日期:2020-12-16 热度:162
append函数返回更新后的slice(长度和容量可能会变),必须重新用slice的变量接收,不然无法编译通过 为了弄明白为什么,首先我们需要清楚几件事: slice的底层是数组,一片连续的内存,slice变量只是存储该slice在底层数组的起始位置、结束位置以及容量。[详细]
-
golang float32/64与[]byte互转
所属栏目:[大数据] 日期:2020-12-16 热度:70
网络协议开发中经常需要将int、float、bool等转为二进制数据,float32、64 与[]byte处理: import ( "encoding/binary" "math")func Float32ToByte(float float32) []byte { bits := math.Float32bits(float) bytes := make([]byte,4) binary.LittleEndian.P[详细]
-
Golang开发支持平滑升级(优雅重启)的HTTP服务
所属栏目:[大数据] 日期:2020-12-16 热度:87
原文链接:http://tabalt.net/blog/gracef... Golang支持平滑升级(优雅重启)的包已开源到Github:https://github.com/tabalt/gracehttp,欢迎使用和贡献代码。 前段时间用Golang在做一个HTTP的接口,因编译型语言的特性,修改了代码需要重新编译可执行文件[详细]
-
golang中runtime.Gosched()的理解
所属栏目:[大数据] 日期:2020-12-16 热度:136
runtime.Gosched()用于让出CPU时间片。这就像跑接力赛,A跑了一会碰到代码runtime.Gosched()就把接力棒交给B了,A歇着了,B继续跑。 看代码: package main import ( " fmt " runtime " ) func say(s string ) { for i := 0 ; i 2 ; i++ {runtime.Gosched()f[详细]
-
Golang Channel用法简编
所属栏目:[大数据] 日期:2020-12-16 热度:91
转自:http://tonybai.com/2014/09/29/a-channel-compendium-for-golang/ 在进入正式内容前,我这里先顺便转发一则消息,那就是Golang 1.3.2已经正式发布了。国内的golangtc已经镜像了golang.org的安装包下载页面,国内go程序员与爱好者们可以到"Golang中 国[详细]
-
Golang Channel用法简编
所属栏目:[大数据] 日期:2020-12-16 热度:158
转自:http://tonybai.com/2014/09/29/a-channel-compendium-for-golang/ 在进入正式内容前,我这里先顺便转发一则消息,那就是Golang 1.3.2已经正式发布了。国内的golangtc已经镜像了golang.org的安装包下载页面,国内go程序员与爱好者们可以到"Golang中 国[详细]
-
Golang适合高并发场景的原因分析
所属栏目:[大数据] 日期:2020-12-16 热度:183
http://blog.csdn.net/ghj1976/article/details/27996095 典型的两个现实案例: 我们先看两个用Go做消息推送的案例实际处理能力。 360消息推送的数据: 16台机器,标配:24个硬件线程,64GB内存 Linux Kernel 2.6.32 x86_64 单机80万并发连接,load 0.2~0.4[详细]
-
GoLang环境搭建
所属栏目:[大数据] 日期:2020-12-16 热度:163
一、下载编译器: 1、国外官方网址:https://golang.org/dl/ 2、国内网址:http://golangtc.com/download 二、IDE编辑器 Source code https://github.com/visualfc/liteide Binary downloads http://sourceforge.net/projects/liteide/files Google group ht[详细]
-
golang time.time相关
所属栏目:[大数据] 日期:2020-12-16 热度:113
JSON does not define any representation for encoding date/time information. It *appears* that people tend to use ISO-8601 for them [1]. May be that's what Go does. Note that the documentation for the encoding/json package does not mention[详细]
-
Golang之反射reflect包
所属栏目:[大数据] 日期:2020-12-16 热度:163
反射规则 在计算机科学领域,反射是指一类应用,它们能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination),并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的[详细]
-
golang的bufio用于内容解析
所属栏目:[大数据] 日期:2020-12-16 热度:172
golang提供了io.Reader,也就是读内容,可以从很多地方读,譬如: // from string. var r io.Reader = strings.NewReader( string ( "hello,world" )) // from bytes. var r io.Reader = bytes.NewReader([] byte ( "hello,world!" )) // from bytes buffer.[详细]
-
golang mysql中timestamp,datetime,int类型的区别与优劣
所属栏目:[大数据] 日期:2020-12-16 热度:83
golang time: https://golang.org/pkg/time/ golang中time包用法 http://blog.csdn.net/chenbaoke/article/details/41519193 首先 DATETIM和TIMESTAMP类型所占的存储空间不同,前者8个字节,后者4个字节,这样造成的后果是两者能表示的时间范围不同。前者范[详细]
