-
golang数据库操作
所属栏目:[大数据] 日期:2020-12-16 热度:128
使用 go-sql-driver操作myql数据库 package mainimport ("database/sql"_ "github.com/go-sql-driver/mysql""fmt")func main() {//连接数据库,获得连接句柄db,err := sql.Open("mysql","root:123456@tcp(localhost:3306)/huifang5?charset=utf8")if err !=[详细]
-
Golang操作数据库
所属栏目:[大数据] 日期:2020-12-16 热度:101
基本概念 Open() – creates a DB Close() - closes the DB Query() - 查询 QueryRow() -查询行 Exec() -执行操作,update,insert,delete Row - A row is not a hash map,but an abstraction of a cursor Next() Scan() 注意: DB并不是指的一个connection[详细]
-
Golang适合高并发场景的原因分析
所属栏目:[大数据] 日期:2020-12-16 热度:186
典型的两个现实案例: 我们先看两个用Go做消息推送的案例实际处理能力。 360消息推送的数据: 16台机器,标配:24个硬件线程,64GB内存 Linux Kernel 2.6.32 x86_64 单机80万并发连接,load 0.2~0.4,CPU 总使用率 7%~10%,内存占用20GB (res) 目前接入的产[详细]
-
关于Golang中database/sql包的学习笔记
所属栏目:[大数据] 日期:2020-12-16 热度:148
因为最近在学习Go,所以找了revel这个框架来学习,感觉和php的面向对象有很大不同。revel没有提供db mapping的组件,所以在github上搜了很多ORM来学习,在 jmoiron/sqlx 中发现了一篇比较详细介绍 database/sql 这个包的文章,拿来和大家分享。本文并不是按[详细]
-
golang
所属栏目:[大数据] 日期:2020-12-16 热度:137
go需要的设置。 一:GOROOT 二:GOPATH[详细]
-
Golang-简洁的并发
所属栏目:[大数据] 日期:2020-12-16 热度:167
多核处理器越来越普及。有没有一种简单的办法,能够让我们写的软件释放多核的威力?是有的。随着Golang,Erlang,Scala等为并发设计的程序语言的兴起,新的并发模式逐渐清晰。正如过程式编程和面向对象一样,一个好的编程模式有一个极其简洁的内核,还有在此之[详细]
-
Golang Channel用法简编
所属栏目:[大数据] 日期:2020-12-16 热度:99
在进入正式内容前,我这里先顺便转发一则消息,那就是Golang 1.3.2已经正式发布了。国内的golangtc已经镜像了golang.org的安装包下载页面,国内go程序员与爱好者们可以到"Golang中 国",即golangtc.com去下载go 1.3.2版本。 Go这门语言也许你还不甚了解,甚[详细]
-
Golang通过Thrift框架完美实现跨语言调用
所属栏目:[大数据] 日期:2020-12-16 热度:145
目录[-] 一、开发前准备 1、安装golang的Thrift包: 2、产生协议库: 3、生成开发库 二、go语言实现 1、服务器端 2、客户端程序 三、Java版实现 1、Java服务器版 2、Java客户端版 每种语言都有自己最擅长的领域,Golang 最适合的领域就是服务器端程序。 做为[详细]
-
golang文件操作
所属栏目:[大数据] 日期:2020-12-16 热度:112
文件读写 package mainimport ("io/ioutil""os""fmt")func main() {file_write("hello world!n","a.txt")content := file_read("a.txt")fmt.Println(content)}func file_read(path string) string {fi,err := os.Open(path)if err != nil {panic(err)}defer[详细]
-
golang gRPC示例
所属栏目:[大数据] 日期:2020-12-16 热度:86
gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。gRPC提供了一种简单的方法来精确地定义服务和为iOS、Android和后台支持服务自动生成[详细]
-
golang fmt格式“占位符”
所属栏目:[大数据] 日期:2020-12-16 热度:199
http://studygolang.com/articles/2644[详细]
-
【GOLANG】Go语言学习-select用法
所属栏目:[大数据] 日期:2020-12-16 热度:112
golang 的 select 的功能和 select,poll,epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作。 示例: ch1 := make (chan int , 1 )ch2 := make (chan int ,0)">1 )... select { case -ch1: fmt.Println( "ch1 pop one element" ) case -ch2:[详细]
-
Golang Channel用法简编
所属栏目:[大数据] 日期:2020-12-16 热度:185
Go这门语言也许你还不甚了解,甚至是完全不知道,这也有情可原,毕竟Go在TIOBE编程语言排行榜上位列30开外。但近期使用Golang 实现的一杀手级应用 Docker 你却不该不知道。docker目前火得是一塌糊涂[详细]
-
Golang中new和make的区别
所属栏目:[大数据] 日期:2020-12-16 热度:93
总结几点: new会分配结构空间,并初始化为清空为零,不进一步初始化 new之后需要一个指针来指向这个结构 make会分配结构空间及其附属空间,并完成其间的指针初始化 make返回这个结构空间,不另外分配一个指针 例子new: var p *[]int = new([]int) 或 p :=[详细]
-
Go语言单元测试
所属栏目:[大数据] 日期:2020-12-16 热度:193
package ceimport ("crypto/md5""math/rand")func getmd5(s []byte) []byte {md := md5.New()md.Write(s)x := md.Sum([]byte(""))return x}func T() string {name := rangdom_string()x := getmd5(name)if x[0] 127 {return "A"} else {return "B"}}func ran[详细]
-
golang模板语法简明教程
所属栏目:[大数据] 日期:2020-12-16 热度:159
【模板标签】 模板标签用"{{"和"}}"括起来 【注释】 {{/* a comment */}} 使用“{{/*”和“*/}}”来包含注释内容 【变量】 {{.}} 此标签输出当前对象的值 {{.Admpub}} 表示输出Struct对象中字段或方法名称为“Admpub”的值。 当“Admpub”是匿名字段时,可以[详细]
-
Golang适合高并发场景的原因分析
所属栏目:[大数据] 日期:2020-12-16 热度:170
典型的两个现实案例: 我们先看两个用Go做消息推送的案例实际处理能力。 360消息推送的数据: 16台机器,标配:24个硬件线程,64GB内存 Linux Kernel 2.6.32 x86_64 单机80万并发连接,load 0.2~0.4,CPU 总使用率 7%~10%,内存占用20GB (res) 目前接入的产[详细]
-
golang 高效字符串拼接
所属栏目:[大数据] 日期:2020-12-16 热度:174
以下内容摘自许世伟《go语言程序设计》: 连接字符串使用" + "或者使用slice拼接," 这2个转换都不是无代价的 " 虽然方便,但是使用+=操作符并不是在一个循环中往字符串末尾追加字符串最有效的方式,一个有效的方式是准备好一个字符串切片([]string),然后使用[详细]
-
Golang编程经验总结
所属栏目:[大数据] 日期:2020-12-16 热度:183
所有分类 开发语言与工具 Google Go/Golang开发 Golang编程经验总结 您的评价 : 较差 收藏该经验 如何选择web框架: 首先Golang语言开发web项目不一定非要框架,本身已经提供了Web开发需要的一切必要技术。当然如果想要ruby里面Rail那种高层次全栈式的MVC框[详细]
-
golang时间格式化
所属栏目:[大数据] 日期:2020-12-16 热度:88
golang中如何输入当前时间 package mainimport( "fmt" "time")func main(){ t := time.Now() y,m,d := t.Date() today := time.Now().Format("2006-01-02") datetime := time.Now().Format("2006-01-02 15:04:05")//后面的参数是固定的 否则将无法正常输出 f[详细]
-
golang的局部作用域和变量推导
所属栏目:[大数据] 日期:2020-12-16 热度:124
很多人喜欢golang的接口,不用声明就可以实现;但我更喜欢golang的变量推导和if表达式,看下面一段代码: var ok bool var vhost *SrsVhost if vid,err := bravo_json_get_number(stream,"vhost"); err != nil { return err } else if vhost,ok = vhosts[vid[详细]
-
golang截取字符串
所属栏目:[大数据] 日期:2020-12-16 热度:66
//截取字符串 start 起点下标 length 需要截取的长度func Substr(str string,start int,length int) string {rs := []rune(str)rl := len(rs)end := 0if start 0 {start = rl - 1 + start}end = start + lengthif start end {start,end = end,start}if start[详细]
-
golang 使用时间通过md5生成token
所属栏目:[大数据] 日期:2020-12-16 热度:136
package mainimport ("crypto/md5""fmt""io""strconv""time")func main() {crutime := time.Now().Unix()fmt.Println("crutime--",crutime)h := md5.New()fmt.Println("h--",h)fmt.Println("strconv.FormatInt(crutime,10)--",strconv.FormatInt(crutime,10)[详细]
-
golang make()内置函数
所属栏目:[大数据] 日期:2020-12-16 热度:113
内建函数 make 用来为 slice,map 或 chan 类型分配内存和初始化一个对象(注意:只能用在这三种类型上),跟 new 类似,第一个参数也是一个类型而不是一个值,跟 new 不同的是,make 返回类型的引用而不是指针,而返回值也依赖于具体传入的类型 make()函数在g[详细]
-
golang 内置函数new() 和struct{} 初始化的区别
所属栏目:[大数据] 日期:2020-12-16 热度:73
new() 这是一个用来分配内存的内置函数,它的第一个参数是一个类型,不是一个值,它的返回值是一个指向新分配的 t 类型的零值的指针。 在golang的代码定义如下: func new (t Type ) * Type strut{} 直接使用struct{} 来初始化strut时,返回的是一个struct类[详细]
