智慧 + 毅力 = 无所不能

正确性、健壮性、可靠性、效率、易用性、可读性、可复用性、兼容性、可移植性...
随笔 - 991, 文章 - 0, 评论 - 27, 阅读 - 341万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  Go语言

摘要:转自:http://tonybai.com/2015/03/09/understanding-import-packages/Golang使用包(package)这种语法元素来组织源码,所有语法可见性均定义在package这个级别,与Java 、python等语言相比,这算不上什么创新,但与C传统的... 阅读全文

posted @ 2015-06-03 11:53 Bill Yuan 编辑

摘要:转自:http://www.jb51.net/article/61727.htm在golang里执行windows下的命令行,例如在golang里面调用 del d:\a.txt 命令package mainimport( "fmt" "os/exec")func main(){ ... 阅读全文

posted @ 2015-06-03 10:42 Bill Yuan 编辑

摘要:转自:http://studygolang.com/articles/1441最近需要做一些在go中使用动态C++库的工作,经常碰到找不到动态库路径这种情况,所以就花点时间,专门做一下实验来了解Go。一、示例代码目录结构(假设代码根目录为/home/gdc/cgotest):----|bin:---... 阅读全文

posted @ 2015-06-03 09:45 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/xtxy/article/details/21328143在使用lua进行服务器端游戏逻辑开发时,发现了LUA的各种不方便的地方,不能编译检查,不能断点调试,笔误的函数和变量不提示出错等等,所以有了全部使用go来做服务器端开发的想法。如果不需要热更新,... 阅读全文

posted @ 2015-06-03 09:42 Bill Yuan 编辑

摘要:转自:http://tonybai.com/2015/04/30/go-and-https/近期在构思一个产品,考虑到安全性的原因,可能需要使用到HTTPS协议以及双向数字证书校验。之前只是粗浅接触过HTTP(使用Golang开 发微信系列)。对HTTPS的了解则始于那次自行搭建ngrok服务,在那... 阅读全文

posted @ 2015-06-01 17:38 Bill Yuan 编辑

摘要:转自:http://tonybai.com/2015/01/13/a-hole-about-variable-scope-in-golang/临近下班前编写和调试一段Golang代码,但运行结果始终与期望不符,怪异的很,下班前依旧无果。代码Demo如下://testpointer.gopackage... 阅读全文

posted @ 2015-06-01 17:24 Bill Yuan 编辑

摘要:转自:http://tonybai.com/2014/11/15/how-goroutines-work/在golangweekly的第36期Go Newsletter中我发现一篇短文"How Goroutines Work",其作者在参考了诸多资料后,简短概要地总结了一下 Goroutine的工作... 阅读全文

posted @ 2015-06-01 17:19 Bill Yuan 编辑

摘要:转自:http://tonybai.com/2014/11/05/how-stacks-are-handled-in-go/Go 1.4Beta1刚刚发布,在Go 1.4Beta1中,Go语言的stack处理方式由之前的"segmented stacks"改为了"continuous stacks"... 阅读全文

posted @ 2015-06-01 17:16 Bill Yuan 编辑

摘要:转自:http://tonybai.com/2012/09/26/interoperability-between-go-and-c/Go有强烈的C背景,除了语法具有继承性外,其设计者以及其设计目标都与C语言有着千丝万缕的联系。在Go与C语言互操作(Interoperability)方面,Go更是提... 阅读全文

posted @ 2015-06-01 16:45 Bill Yuan 编辑

摘要:转自:http://studygolang.com/topics/548例子Packages.go:package mainimport ( "fmt" "math/rand")func add(x int, y int) int { return x + y}func main(... 阅读全文

posted @ 2015-02-27 17:23 Bill Yuan 编辑

摘要:转自:http://studygolang.com/topics/549Go 没有类,但可以在结构体类型上定义方法。package main import ( "fmt" "math" )type Vertex struct { X, Y float64 }func (v Vertex)... 阅读全文

posted @ 2015-02-27 17:11 Bill Yuan 编辑

摘要:转自:http://monnand.me/p/ready-go-2/zhCN/Go语言是Google于2009年推出的静态编译型语言,旨在为开发人员提供类似Python,Ruby一样简洁的语言环境,同时又具备C/C++一样的运行效率。作为一个开源项目,在过去的两年多时间里,Go以社区协作的形式,不断地完善语言和标准库的设计与实现。最终于今年三月28日发布了第一个稳定的发行版本:Go version 1,简称Go 1。Go 1的推出,意味着Go语言和它的标准库已经进入了一个稳定阶段。对于谨慎的开发人员来说,开发Go程序正趁当下,现在已经可以放心地开发Go程序,不必再考虑未来语法和标准库的变化。正 阅读全文

posted @ 2013-05-03 11:05 Bill Yuan 编辑

摘要:转自:http://blog.dccmx.com/2012/03/small-problem-about-goroutine/goroutine是Go语言的标志性特性之一。配合channel,形成了Go语言处理并发的基础。但是,目前还有些小问题,或者说小不爽。就是会给你造成真并行的假象。看下面的例子:package main import ( "time" "runtime") func main () { ch := make(chan int) go func(ch chan int) { time.Sleep(1 * 1e9) ch <- 1 阅读全文

posted @ 2013-04-24 15:31 Bill Yuan 编辑

摘要:转自:https://code.google.com/p/golang-china/wiki/go_mem简介Go的内存模型详述了"在一个groutine中对变量进行读操作能够侦测到在其他goroutine中对该变量的写操作"的条件.Happens Before对于一个goroutine来说,它其中变量的读, 写操作执行表现必须和从所写的代码得出的预期是一致的。也就是说,在不改变程序表现的情况下,编译器和处理器为了优化代码可能会改变变量的操作顺序即: 指令乱序重排。但是在两个不同的goroutine对相同变量操作时, 会因为指令重排导致不同的goroutine对变量的操作顺 阅读全文

posted @ 2013-04-18 20:35 Bill Yuan 编辑

摘要:转自:http://stackoverflow.com/questions/2886719/unix-sockets-in-goServer:package mainimport "net"import "fmt"func echoServer(c net.Conn) { for { buf := make([]byte, 512) nr, err := c.Read(buf) if err != nil { return } data := buf[0:nr] fmt.Printf... 阅读全文

posted @ 2013-03-18 15:08 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/love_se/article/details/7754274首先是安装Go这里有很详细的安装说明,http://code.google.com/p/golang-china/wiki/Install或者http://golang.org/doc/install下面我们在window下面安装,google有提供win安装包,对于新手还是非常简单的!https://code.google.com/p/go/downloads/list配置环境变量(1).新建变量名:GOBIN变量值:c:\go\bin(2).新建变量名:GOARCH变量值:386( 阅读全文

posted @ 2013-03-01 11:29 Bill Yuan 编辑

摘要:转自:http://www.cnblogs.com/yjf512/archive/2012/06/14/2549929.htmlarray类型array是固定长度的数组,这个和C语言中的数组是一样的,使用前必须确定数组长度。但是和C中的数组相比,又是有一些不同的:1 Go中的数组是值类型,换句话说,如果你将一个数组赋值给另外一个数组,那么,实际上就是将整个数组拷贝一份2 如果Go中的数组作为函数的参数,那么实际传递的参数是一份数组的拷贝,而不是数组的指针。这个和C要区分开。因此,在Go中如果将数组作为函数的参数传递的话,那效率就肯定没有传递指针高了。这个是不是有点陷阱的感觉?3 array的长 阅读全文

posted @ 2013-02-28 18:36 Bill Yuan 编辑

摘要:转自:http://www.cnblogs.com/iscode/archive/2012/05/06/2486528.htmlfunc Open(name string) (file *File, err error),*File是实现了 io.Reader这个接口byte[]转化为 bytes.Buffer:bytes.NewBuffer([]byte).一、建立与打开建立文件函数:func Create(name string) (file *File, err Error) func NewFile(fd int, name string) *File具体见官网:http://gola 阅读全文

posted @ 2013-02-28 17:26 Bill Yuan 编辑

摘要:基础:1、变量赋值2、常量赋值,itoa使用3、string4、循环和选择结构5、switch语句6、array, slice和map函数:7、函数格式8、函数可以返回多个返回值9、defer的使用(在函数退出时调用)10、panic,recover和defer1、变量赋值var aa = 12a ... 阅读全文

posted @ 2013-02-28 16:36 Bill Yuan 编辑

摘要:转自:http://www.cnblogs.com/yjf512/archive/2012/06/06/2537712.html当被问到为什么用Go语言,一定不得不提的是Go语言的并发程序编写。在C语言中编写非常繁琐复杂的并发程序在Go语言中总是显得如此便捷。Go中并发程序依靠的是两个:goroutine和channel一、理解什么是goroutine?对于初学者,goroutine直接理解成为线程就可以了。当对一个函数调用go,启动一个goroutine的时候,就相当于起来一个线程,执行这个函数。实际上,一个goroutine并不相当于一个线程,goroutine的出现正是为了替代原来的线程 阅读全文

posted @ 2013-02-28 11:43 Bill Yuan 编辑

点击右上角即可分享
微信分享提示