-
3.6学习内容,androidwifiP2p,golang http.ListenAndServe运行
所属栏目:[大数据] 日期:2020-12-16 热度:166
android p2p两篇文章: http://blog.csdn.net/gophers/article/details/38060307 http://blog.csdn.net/max2005/article/details/12237905 官方文档:http://developer.android.com/training/connect-devices-wirelessly/wifi-direct.html golang, http://b[详细]
-
golang 环境配置建议
所属栏目:[大数据] 日期:2020-12-16 热度:110
AUTH:PHILO VERSION:1.2 开发环境的必要特征 项目管理 快速文件跳转 自动语法检查 自动补全 查找定义 启动速度快 如果自己有需求的话插件可以随便写 灵活的运行配置 (project,lint,hint,autocomplete) 要实现上面几点我们来一步一步的配置。 我的大环境 OSX[详细]
-
[Golang]堆栈解析
所属栏目:[大数据] 日期:2020-12-16 热度:194
?? 本文为理解翻译,原文地址:http://www.goinggo.net/2015/01/stack-traces-in-go.html Introduction 在Go语言中有一些调试技巧能帮助我们快速找到问题,有时候你想尽可能多的记录异常但仍觉得不够,搞清楚堆栈的意义有助于定位Bug或者记录更完整的信息。[详细]
-
[Golang]互斥到底该谁做?channel还是Mutex
所属栏目:[大数据] 日期:2020-12-16 热度:94
?? channel – 本质上是一个 MessageQueue – 非常正统的执行体间通讯设施 ? sync.Mutex/RWMutex/Cond/etc – 不要把 channel 当做万金油,该 Mutex 还是要 ? 误区 – 用 channel 来做互斥 ( 正常应该让 Mutex 做 ) ? 比如多个 goroutine 访问一组共享变量 ?[详细]
-
[Golang]开源Log推荐
所属栏目:[大数据] 日期:2020-12-16 热度:156
?? seelog源码地址: https://github.com/cihub/seelog seelog支持在console中输出日志时自定义不同的颜色,但是使用ANSI color,在windows cmd下显示乱码,解决方式是安装一个插件: http://adoxa.altervista.org/ansicon/ 解压后需要注入: ansicon.exe -i[详细]
-
[Golang]一个非典型的GoRoutine的错误
所属栏目:[大数据] 日期:2020-12-16 热度:138
?? 在不少golang入门的文章上,用并发的例子一般是这样写的; package mainimport ( "fmt" "time" ) func main() { messages := make(chan int ) go func() { time.Sleep(time.Second * 3 ) messages - 1 }() go func() { time.Sleep(time.Second * 2 ) mess[详细]
-
golang学习之--Hello GO
所属栏目:[大数据] 日期:2020-12-16 热度:70
下载安装包 DownloadGO 地址 golang.org 配置环境 这是我已经配置好的环境变量 安装Sublime Text 在Sublime Text 2 上配置golang环境 安装gosublime,gobuild ,gocode 安装完成之后就可以开始编程了 创建第一个hello.go程序[详细]
-
Go学习笔记:关于defer
所属栏目:[大数据] 日期:2020-12-16 热度:189
有几个要点: 1、defer主要作用是用来做所谓的“善后”工作的,比如关闭文件、关闭网络连接、释放锁等等。有很多文章把defer放在异常处理中介绍,可能原因之一defer的出现极大改变了try-catch这种异常处理模式的复杂度(特别是嵌套的情况),代码变得更简洁[详细]
-
Go学习笔记:panic()和recover()
所属栏目:[大数据] 日期:2020-12-16 热度:130
如何理解: 1、调用panic函数相当于throw一个异常,逐层启动异常处理流程。在调用panic之前defer的操作会在调用panic后立即执行。 2、调用recover函数相当于catch了异常,会中止异常处理流程,并可以返回这个异常。 3、panic函数接受一个参数,任意类型,无[详细]
-
golang 中使用数组创建slice时的注意事项
所属栏目:[大数据] 日期:2020-12-16 热度:58
golang中,slice是对固定长度数组的一段切片,其底层是用对数值空间的指针实现的。 在golang中当使用一个数组来创建slice时如: var array [ 5 ] int = [ 5 ] int { 1 , 2 , 3 , 4 , 5 } //切割出数组中的4个值,创建一个slice myslice := array [ 0 : 4 ][详细]
-
Go学习笔记:严格的数组
所属栏目:[大数据] 日期:2020-12-16 热度:119
数组变得不太一样了。 要求数组的长度必需在编译时是能确定的,也就是说,数组的元素个数必需是常量或常量表达式。 比如java中可以这样: public int[] createArr(int x) { return new int[x]; } 在Go中不能用这种方法创建数组,只能创建一个数组切片来达到[详细]
-
Go学习笔记:多重赋值能用来干啥
所属栏目:[大数据] 日期:2020-12-16 热度:83
Go支持多重赋值。比如:x,y:=1,2 多重赋值能用来干啥,来个有意思的: 1、交换两个变量的值: x,2 x,y=y,x//交换了 2、将数组反序: x := [4]int{1,2,3,4} fori,j := 0,len(x)-1; i j; i,j = i+1,j-1 { x[i],x[j] = x[j],x[i] } 其它用途代发掘~~~~~[详细]
-
Go学习笔记:有意思的三个点儿
所属栏目:[大数据] 日期:2020-12-16 热度:176
三个点儿就是这个 ... 用途之一:为函数定义多个参数,比如: func x(args ...int){ } //函数x接受任意数量的int参数 用途之二:将切片拆散 m := make([]int,3) x(m...) //将切片m(含有3个int型元素)拆散成单个int型作为参数调用函数x 第一种用途,是Go提[详细]
-
Go学习笔记:数组和数组切片的行为
所属栏目:[大数据] 日期:2020-12-16 热度:113
mark[详细]
-
golang学习之--struct类型
所属栏目:[大数据] 日期:2020-12-16 热度:64
GO语言中的struct和c或其他语言一样,我们可以声明新的类型 eg: type Human struct { name string age int } package mainimport (. "fmt". "strconv")type Human struct {name stringage intsex stringphone string}type student struct {Human // 匿名字[详细]
-
golang学习之--简单的web网站
所属栏目:[大数据] 日期:2020-12-16 热度:119
package mainimport ("fmt""net/http")func indexHandler(w http.ResponseWriter,r *http.Request) {r.ParseForm()fmt.Println(r.URL.Path)w.Write([]byte("Hello"))}func main() {http.HandleFunc("/",indexHandler)err := http.ListenAndServe(":9090",nil[详细]
-
[Golang]网络游戏协议处理框架
所属栏目:[大数据] 日期:2020-12-16 热度:165
?? 简介: 本文描述了使用Go语言实现的、适应于Go语言并发模型的一种支持多路复用的网络协议处理框架,并提供了框架的代码实现。作者将这种框架用于网络游戏服务器中的协议处理,但也可用于其他领域。 应用背景: 在网络游戏服务器设计中,一般都会遇到协议[详细]
-
[Golang]怎么让数据集合支持并发访问?
所属栏目:[大数据] 日期:2020-12-16 热度:187
?? 在go语言里,提倡用信道通讯的方式来替代显式的同步机制。但是我发现有的时候用信道通讯方式实现的似乎也不是很好(暂不考虑效率问题)。 假设有一个帐号的集合,需要在这个集合上实现一些操作,比如查找修改等。这个集合的操作必须是支持并发的。 如果用[详细]
-
[Golang]Select多路选择的模拟实现
所属栏目:[大数据] 日期:2020-12-16 热度:85
?? 有时候有这样一种应用场景:需要等待多个事件到达,然后返回尽可能多的事件;如果没有事件到达就阻塞等待。例如服务器等待客户端建立连接,或者等待客户端数据等就有这种应用需求。 在go语言里,可以利用select原语和它的非阻塞(default)分支组合实现这个[详细]
-
[Golang]你处于使用Go语言的哪个层次,来测测吧
所属栏目:[大数据] 日期:2020-12-16 热度:73
?? Francesc (@francesc) 是 Go 核心团队的一员,是提倡 Google Cloud 平台的开发者. 他是一个编程语言的爱好者,Google的技术指导大师,Go tour的创造者之一. 这个讨论的灵感来自于另一个 Raquel Vélez 在 JSConf. Slides 的讨论,这个讨论已经发到了这里. So[详细]
-
[Golang]设计模式实践:组合(Composite)
所属栏目:[大数据] 日期:2020-12-16 热度:85
?? 关于本系列 这个系列首先是关于Go语言实践的。在项目中实际使用Go语言也有段时间了,一个体会就是不论是官方文档、图书还是网络资料,关于Go语言惯用法(idiom)的介绍都比较少,基本只能靠看标准库源代码自己琢磨,所以我特别想在这方面有一些收集和总结[详细]
-
FlatBuffers使用记录(Golang)
所属栏目:[大数据] 日期:2020-12-16 热度:72
试用了下FlatBuffers,把一些东东记录一下。 FlatBuffers 官网: http://google.github.io/flatbuffers/md__go_usage.html 它支持生成Go语言相关的东西,总的使用步骤如下: 1. 定义IDL 接口定义文件,通常命名为.fbs 参考: Writing a schema http://google.git[详细]
-
Go学习笔记:匿名成员
所属栏目:[大数据] 日期:2020-12-16 热度:136
开始没搞明白啥是匿名成员,看了好几个文章,总算明白了,至少自认为是。 为啥需要匿名成员? 得从OO说起。OO要说是现代的计算机编程语言中必需的部分了。不过不同的语言对于如何实现OO中的各种概念做法并不一样。Go对OO提供了支持,但采用的是一种简洁并且[详细]
-
GO语言运行cmd命令逐行实时输出执行过程
所属栏目:[大数据] 日期:2020-12-16 热度:149
Golang运行cmd命令逐行实时输出执行过程,注意,不是一次输出所有的内容,而是按照执行的过程,逐行逐行的实时显示出来 代码如下: package mainimport ("bufio""fmt""io""os/exec")func main() {command := "ls"params := []string{"-l"}//执行cmd命令: ls[详细]
-
【原创】Go语言/Golang 知识简单集锦
所属栏目:[大数据] 日期:2020-12-16 热度:119
【技术人员对Go语言思考和选择】 《许世伟:云计算时代,我与Go语言难解的缘分》 http://www.programmer.com.cn/13730/ 《许式伟:从关注 Erlang 转向 Go 的原因是什么?》 http://www.zhihu.com/question/21729007 《许式伟:为什么我们需要一门新的语言,[详细]
