• 评论了主题 go 动态加载插件
    编译时buildmode中使用plugin,虽然仅支持linux系统,但是一般服务器都是linux,这个限制可以当作不存在。 另外很简单的代码也编译成10M,我觉得还ok的,go编译的包的初始大小的确...
  • gc有自己的触发机制,可以google一下,但是通用的想法是: 不要依赖这个机制释放内存,只当作一个锦上添花的东西,要保证自己的程序稳定运行,要评估一下并发量,限制goroutine的数量。 比如一个...
  • 我觉得调度是go去处理的,业务开发不必管这个goroutine是否一直占用着cpu,没使用多核的情况下,看着可能是这个readsomething占用cpu,但是很有可能其他goroutine也得到了c...
  • 评论了主题 go 数组应用
    sort.Search,很多操作都在这里sort包里。 ps:这里有点赞的功能么,自己再说一遍好麻烦。
  • 接口加上反射感觉可以的,switch的语法也不错的啊,go反射的源码很多地方也用了switch的,可读性也不错。
  • 实际上就是减少内存分配呗,很多字符串连接的时候效果才明显。
  • sprintf这个是在左边填充吧,想要在右边填充还没有现成的方法。 来一个曲线救国吧,有个好处就是生成一个长度为32的字符串,然后随便你去截断,当然效率有待评估。 a := "123...
  • 用一个map,为每一个客户端分配一个id,用这个id与服务器通信,然后用一个msg := make(chan string)来监听客户端消息,再用一个leaving := make(chan stri...
  • Gogland 全平台,一直在用,从c++,python到go
  • 多核是通过环境变量设置的,然后才是通过go语法启用的。goroutine的调度采用的是n:m的模型,而且每一个goroutine,就是一个用户级别的线程,线程内的操作都是串行的。
  • 看过go语言圣经没,其中有一个聊天室的思路你可以借鉴一下,做一个server,用map保存每个client的连接,然后通过捕获命令行输入,像每一个map中的client发出网络请求即可;当终止输入或者...
  • 嗯,最直接了当的方式就是读源码,该源码,公司开发机的gcc版本低,导致go build不成功,我也是通过简单修改build.go,重新编译就可以了。不过升级到1.9之后,go的linux下的目录树结构...
  • 不知道中间的'\n'是你人为的,还是自动打上去的。另外,go env一下呗,看看gopath在当前的环境下正确不。
  • 明显json格式么。。为了后续维护,还是使用json库吧,不要求多好用,就使用内置的呗,也还可以的。
  • 首先,你传指针,也没把写入的代码贴出来,鬼知道你怎么申请的空间,怎么写入的数据; 另外,三维数组[i][y][x],你先判断最里层的数组长度[i][y],然后判断中间一层的长度[i],你能确定,最里层...