-
Golang通过Thrift框架完美实现跨语言调用
所属栏目:[大数据] 日期:2020-12-16 热度:149
每种语言都有自己最擅长的领域,Golang 最适合的领域就是服务器端程序。 做为服务器端程序,需要考虑性能同时也要考虑与各种语言之间方便的通讯。采用 http 协议简单,但性能不高。采用 TCP 通讯,则需要考虑封包、解包、粘包等等很多因素,而且想写个高效的[详细]
-
golang关于json库的一个比较容易陷入的坑 uint8[]数组的json转换
所属栏目:[大数据] 日期:2020-12-16 热度:193
类似这个CA如果实例转化成json.List会变成字符串. type CA struct {List []uint8}func main() {ca := CA{[]uint8{1,2,3,4,5,6,7,8,9,0}}r,_ := json.Marshal(ca)fmt.Println(string(r)) //{"List":"AQIDBAUGBwgJAA=="}} 而我们希望的是要一个正常的json. 只[详细]
-
Golang 嵌套map赋值办法
所属栏目:[大数据] 日期:2020-12-16 热度:151
Go语言嵌套Map赋值办法: m := map[string]map[string]string{}mm,ok := m["kkk"]if !ok { mm = make(map[string]string) m["kkk"] = mm}mm[k1k1k1] = "sssss"[详细]
-
golang time的几种用法
所属栏目:[大数据] 日期:2020-12-16 热度:51
首先说明golang 语言设计设有个叫 XXnuts的家伙,果然是个变态,把时间原点设计在了 2006-01-02 15:04:05 其实人家这个日期是有意义的: 2006-01-02T15:04:05Z07:00 每个数字的意义: 1 2 3 4 5 6 7 月 日 时 分 秒 年 时 区 常用的方法: 1 toTime格式化(P[详细]
-
golang channel 有缓冲 与 无缓冲 的重要区别
所属栏目:[大数据] 日期:2020-12-16 热度:123
golang channel 有缓冲 与 无缓冲 是有重要区别的 我之前天真的认为 有缓冲与无缓冲的区别 只是 无缓冲的 是 默认 缓冲 为1 的缓冲式 其实是彻底错误的,无缓冲的与有缓冲channel有着重大差别 那就是一个是同步的 一个是非同步的 怎么说?比如 c1:=make(chan[详细]
-
golang指针与C指针的异同
所属栏目:[大数据] 日期:2020-12-16 热度:155
总结一下golang中的指针与C语言的指针的用法。 总体一致: C的代码: int *number;number = (int *) malloc(sizeof(int));*number = 3;printf("%dn",*number); golang的代码: var pointer *int;pointer = new(int);*pointer = 3;fmt.Println(*pointer); 多重[详细]
-
Golang 类型转换整理
所属栏目:[大数据] 日期:2020-12-16 热度:139
1、整形到字符串: var i int = 1var s string s = strconv.Itoa(i) 或者 s = FormatInt(int64(i),10) 2、字符串到整形 var s string = "1"var i inti,err = strconv.Atoi(s) 或者 i,err = ParseInt(s,10,0) 3、字符串到float(32 / 64) var s string = 1var f[详细]
-
Golang协程与通道整理
所属栏目:[大数据] 日期:2020-12-16 热度:109
协程goroutine 不由OS调度,而是用户层自行释放CPU,从而在执行体之间切换。Go在底层进行协助实现 涉及系统调用的地方由Go标准库协助释放CPU 总之,不通过OS进行切换,自行切换,系统运行开支大大降低 通道channel 并发编程的关键在于执行体之间的通信,go通[详细]
-
Golang中new和make的区别
所属栏目:[大数据] 日期:2020-12-16 热度:152
参考了几份资料。未查阅源码,故不是非常肯定。 总结几点: new会分配结构空间,并初始化为清空为零,不进一步初始化 new之后需要一个指针来指向这个结构 make会分配结构空间及其附属空间,并完成其间的指针初始化 make返回这个结构空间,不另外分配一个指针[详细]
-
golang package init可以多处定义
所属栏目:[大数据] 日期:2020-12-16 热度:146
1、在golang中import 包A的时候,会自动隐式的调用该包A的init()函数(i字母小写)。 2、调用顺序:如果该包A又import了别的包B,会优先调用包B的init()函数, 最后才调用main包的init()函数。 3、一个包的init()函数可以定义多个,但是只有一个会被调用[详细]
-
golang继承,和多态
所属栏目:[大数据] 日期:2020-12-16 热度:123
package maintype ST struct{}func (s *ST)Show(){ println("ST")}func (s *ST)Show2(){ println("ST:Show2()")}type ST2 struct{ ST I int}func (s *ST2)Show(){ println("ST2")}func main() { s := ST2{I:5} s.Show() s.Show2() println(s.I)} golang语言[详细]
-
GoLang 强制类型转换:unsafe.Pointer
所属栏目:[大数据] 日期:2020-12-16 热度:123
注意此种转换只适合简单类型,对于有对象描述的类型是完全不适用的,鸡肋啊 更详细的文章请参见@陈一回http://my.oschina.net/goal/blog/193698 ps:补充另外一种用法,这次就不鸡肋了 Go语言是个强类型语言。也就是说Go对类型要求严格,不同类型不能进行赋值[详细]
-
任意数据类型切片 golang
所属栏目:[大数据] 日期:2020-12-16 热度:192
package mainimport ("fmt". "strconv")type Element interface{}type List []Elementtype Person struct {name stringage int}func (P Person) String() string {return "My name is " + P.name + " my age is " + Itoa(P.age)}var slice_1 = []string{"hel[详细]
-
golang websocket总结(问题贴)
所属栏目:[大数据] 日期:2020-12-16 热度:198
因为工作的需要,接触了websocket,开始的一些很简单的代码,都不知道该怎样运行起来,所以,总是有一层神秘感,却没有太多的兴趣去研究它。不过,还是免不了要了解一些才不至于对于后续的工作有影响。从塌下心来学习,到最后完成编码测试,不超过一周,遇到[详细]
-
Go中error类型的nil值和nil
所属栏目:[大数据] 日期:2020-12-16 热度:163
先看C语言中的类似问题:空字符串。 const char* empty_str0 = "";const char* empty_str1 = " empty";const char* empty_str2 = NULL; 以上3个字符串并不相等,但是从某种角度看,它们都是对应空的字符串。 empty_str0 指向一个空的字符串,但是empty_str0[详细]
-
Golang 1.0 文档使用。godoc ,go 命令 学习 ,本地运行 gotour
所属栏目:[大数据] 日期:2020-12-16 热度:92
首先要安装环境 参考: http://toeo.iteye.com/blog/1470598 找了半天 没有 看明白 doc 的目录结构。 原来 doc 是web 展示的 !!! 本地 运行 web 版本 doc文档 输入 godoc -http=:6060 然后在浏览器里面就可以看到了: 访问你的浏览器年 就有自己的一个 本[详细]
-
Golang 1.0 windows 64 bit 配置环境。
所属栏目:[大数据] 日期:2020-12-16 热度:60
go 官网网站: http://golang.org/ 下 windows 64 bit 安装包: http://code.google.com/p/go/downloads/list 软件是: go.go1.windows-amd64.msi eclipse 插件是: http://code.google.com/p/goclipse/ 更新url 是: http://goclipse.googlecode.com/svn/tr[详细]
-
GoLang 连接 Mysql 数据库
所属栏目:[大数据] 日期:2020-12-16 热度:169
搜索下 找到一个 golang 的库地址: http://go-lang.cat-v.org/library-bindings 有数据库。。gui 等。 发现就这个更新 时间最近。。下载 zip包。 https://github.com/Philio/GoMySQL 经过编译发现只可以再 linux 下面进行编译。windows 没有弄好。 首先在 l[详细]
-
golang学习
所属栏目:[大数据] 日期:2020-12-16 热度:78
windows下似乎安装很方便,暂时在windows下 下载好go后,放到c:/根目录,把c:/go/bin/放到path下即可 安装redis,下载好redis-go,放到c:/go/src/pkg下,cd到c:/go/src/pkg/redis/ 执行go install即可安装[详细]
-
golang 环境搭建
所属栏目:[大数据] 日期:2020-12-16 热度:86
操作系统 ubuntu 12.04 64 位 1. 配置编译环境 Go工具链采用C语言编写,需要安装以下开发工具 $ sudo apt-get install bison gcc libc6-dev ed gawk make 2.安装Mercurial工具 Mercurial是一种轻量级分布式版本控制系统,采用Python编写。 首先安装Python $ s[详细]
-
notepad++ 的golang语法高亮
所属栏目:[大数据] 日期:2020-12-16 热度:147
go自带了notepad++的语法高亮配置,只需要在notepad++里导入即可: 1. 打开go的安装目录miscnotepadplus下的userDefineLang.xml,把开头的NotepadPlus和结尾的/NotepadPlus的注释取消掉 2. 把miscnotepadplus目录下的go.xml放到notepad++安装目录下的plugi[详细]
-
为什么 PHPer 应当学习 Golang
所属栏目:[大数据] 日期:2020-12-16 热度:94
熟悉我的朋友应当知道,近些年的大部分时间我的工作都会多少和 PHP 相关。随着 PHP 有着越来越深入的了解,以及遇到越来越多的不同业务时,使用 PHP 总会让我有一种莫名的无力感。当然,并不是我一个人在使用 PHP 的时候遇到了问题。事实上,每个略微有一些[详细]
-
使用Golang 搭建http web服务器
所属栏目:[大数据] 日期:2020-12-16 热度:191
转自:http://www.cnblogs.com/yjf512/archive/2012/09/03/2668384.html Golang在搭建web服务器方面的能力是毋庸置疑的。官方已经有提供net/http包为搭建http服务器做准备。使用这个包能很简单地对web的路由,静态文件,模版,cookie等数据进行设置。至于这[详细]
-
Golang/Go语言/Go IDE/Go windows环境搭建/Go自动提示编译器/GoS
所属栏目:[大数据] 日期:2020-12-16 热度:161
Go是Google开发的一种编译型,并发型,并具有垃圾回收功能的编程语言。 罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go语言,Go语言是基于Inferno操作系统所开发的。Go语言于2009年11月正式宣布推出,并在[详细]
-
Golang/Go语言/Go IDE/Go windows环境搭建/Go自动提示编译器/GoS
所属栏目:[大数据] 日期:2020-12-16 热度:85
Go是Google开发的一种编译型,并发型,并具有垃圾回收功能的编程语言。 罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go语言,Go语言是基于Inferno操作系统所开发的。Go语言于2009年11月正式宣布推出,并在[详细]
