
go
wkyb608
这个作者很懒,什么都没留下…
展开
-
Go语言锁的解读
var l sync.Mutexvar a stringfunc f() { a = "hello, world" l.Unlock()}func main() { l.Lock() go f() l.Lock() print(a)}sync 包中实现了两个关于锁的数据类型,sync.Mutex 和 sync.RWMutex。[ 互斥锁 mutex 是独占型,只能原创 2015-07-10 14:13:52 · 1681 阅读 · 0 评论 -
Go 的垃圾回收机制在实践中有哪些需要注意的地方?
之前回答问题的时候Go还处在1.1版本,到了1.2和1.3,Go的GC跟踪命令和GC内部实现已经有一些变化,并且根据评论中的反馈,这边一并做补充说明。Go 1.2之后的GC跟踪环境变量已经改为GODEBUG="gctrace=1",具体参数说明可以参考runtime包的文档。Go 1.3对GC做了优化,回收机制也改变了,从我的实验观测来看,用做内存存储时候产生的持久性的大量对象,一转载 2015-08-22 11:29:39 · 1798 阅读 · 0 评论 -
Go 1.5中值得关注的几个变化
在GopherCon2015开幕之 际,Google Go Team终于放出了Go 1.5Beta1版本的安装包。在go 1.5Beta1的发布说明中,Go Team也诚恳地承认Go 1.5将打破之前6个月一个版本的发布周期,这是因为Go 1.5变动太大,需要更多时间来准备这次发布(fix bug, Write doc)。关于Go 1.5的变化,之前Go Team staff在各种golang转载 2015-08-22 11:44:56 · 2290 阅读 · 0 评论 -
golang gRPC示例
gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。gRPC提供了一种简单的方法来精确地定义服务和为iOS、Android和后台支持服务自动生成可靠性很强的客户端功能库。客户端充分利用高级流和链接功能,从而有助于节省带宽、降低的TCP链接次数、节原创 2015-09-12 15:07:47 · 2279 阅读 · 1 评论 -
Redis介绍以及安装(Linux)
redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,redis支持各种不同方式的排序。Redis数据都是缓存转载 2015-07-17 14:57:16 · 539 阅读 · 0 评论 -
Redigo--Go连接Redis
本文主要介绍go Web开发中操作redis。Redigo是go连接Redis的扩展包,用此包时需先执行:go get github.com/garyburd/redigo/redis安装完后,在文件中导入redigo即可。连接redis的样例如下:[html] view plaincopyimport (转载 2015-07-17 14:55:37 · 2979 阅读 · 0 评论 -
Go语言的RPC介绍(含Protobuf-RPC)
标准库的RPCRPC是远程调用的简称, 简单的说就是要像调用本地函数一样调用服务器的函数.Go语言的标准库已经提供了RPC框架和不同的RPC实现.下面是一个服务器的例子:?1234567891011121314151转载 2015-08-22 18:53:16 · 2782 阅读 · 1 评论 -
Go编程——变量、函数导出与首字母大写
标识符可被 导出 以允许从另一个包访问。同时符合以下条件即为已导出标识1、标识符名的第一个字符为Unicode大写字母(Unicode类别“Lu”);2、该标识符在包块中已声明或为字段名或方法名。以程序导入gotest/even包为例package mainimport ( "even" "fmt")func main() { i:原创 2015-07-07 14:42:26 · 909 阅读 · 0 评论 -
局域网无法访问vmware虚拟机WEB服务器解决办法
具体情况如下 :环境:虚拟机服务器是centos,apache+php+mysql环境,但是局域网无法访问1.本机能ping通虚拟机 2.虚拟机也能ping通本机 3.虚拟机能访问自己的web 4.本机无法访问虚拟己的web后来发现是防火墙将80端口屏蔽了的缘故。检查是不是服务器的80端口被防火墙堵了,可以通过命令:telnet {服务器ip}80 来测转载 2015-07-03 13:05:19 · 3737 阅读 · 0 评论 -
Go语言的排它锁sync.Mutex
package mainimport ( "fmt" "sync" "time")var m *sync.Mutexfunc main() { m = new(sync.Mutex) go lock(1) time.Sleep(time.Second) lock(2) fmt.Printf("%s\n", "exi原创 2015-07-10 14:13:14 · 1427 阅读 · 0 评论 -
解决Mac下GDB提示签名错误
安装GDB新的Mac下有gcc、g++,但是没有gdb有人说安装XCode就有,但是我真没有通过Homebrew安装,没有的执行安装brew命令ruby -e "$(curl -fsSLk https://raw.github.com/Homebrew/homebrew/go/install)"然后安装gdbbrew install https://原创 2015-07-02 14:35:47 · 647 阅读 · 0 评论 -
homebrew常用命令
查看brew的帮助brew –help安装软件brew install git卸载软件brew uninstall git搜索软件brew search git显示已经安装软件列表brew list更新软件,把所有的Formula目录更新,并且会对本机已经安装并有更新的软件用*标明。brew update更新某具体软件brew upgrade git查看软件信息brew [info | home]原创 2015-07-02 13:33:20 · 494 阅读 · 0 评论 -
Mac下安装brew & 使用brew安装gdb
安装命令如下: curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local –strip 1(2014-09-02 亲试)使用brew下载wget和gdb:当brew安装成功后,就可以随意安装自己想要的软件了,例如wget,命令如下: sudo brew install wget原创 2015-07-02 13:31:56 · 1324 阅读 · 0 评论 -
golang protobuf protoc获取地址
下载protoc,地址https://github.com/google/protobuf/releases原创 2018-05-17 08:48:49 · 947 阅读 · 0 评论