Golang 中国

mengzhuo

Golang China 第 2025 号会员,加入于 2014-09-19 17:58


mengzhuo最近创建的主题


4 分享自己做的“静态”博客--bla
分享mengzhuo • 2015-11-30 11:04 • 最后回复来自 Kerwin
2 火星了,官方自带的http传输文件用的就是sendfile……
分享mengzhuo • 2018-02-01 16:07 • 最后回复来自 truexf
golangtc.com/play游乐场不能用了
反馈mengzhuo • 2015-08-28 13:31
13 预售Gopher玩偶咯
分享mengzhuo • 2015-08-13 17:55 • 最后回复来自 hezhixiong
[已解决]如何优雅地改变上级slice
问与答mengzhuo • 2015-02-17 10:49
5 [已解决]怎么在Go struct 内使用Func?
问与答mengzhuo • 2015-01-11 13:45 • 最后回复来自 mengzhuo
6 各位有用Golang实现过聊天室不?有些问题想请教
Web开发mengzhuo • 2014-12-25 22:48 • 最后回复来自 cloudaice
2 Type struct 语法问题
问与答mengzhuo • 2014-10-02 22:56 • 最后回复来自 mengzhuo
mengzhuo 创建的更多主题

mengzhuo最近回复了


回复了 yqmking 创建的主题: go语言编程 第四章 实例,channel不理解 2016-04-30 00:57

因为client.conn 是 server.Conn

func NewIpcClient(server *IpcServer) *IpcClient {
    c := server.Connect()
    return &IpcClient{c}
}

https://github.com/cheney/golang_game_ipc_demo/blob/master/src/ipc/client.go#L12

回复了 xyzasd01 创建的主题: 关于GO逐行读取大文件的问题,Go为什么耗费时间是PHP7的8倍? 2015-12-24 17:30

LZ 拿这个去改改吧

func parseFile(path, file string) {
        filePath := filepath.Join(path, file)
        f, err := os.Open(filePath)
        defer f.Close()
        if err != nil {
                fmt.Println("打开文件失败:" + filePath)
                os.Exit(1)
        }
        //错误信息
        var errList []error
        //总流量
        var totalSize uint64
        //过滤流量
        var keepStoppSize uint64

        var errMsg error
        var size int64

        scanner := bufio.NewScanner(f)
        for scanner.Scan() {
                slice := bytes.Fields(scanner.Bytes())
                size, _ = strconv.ParseInt(string(slice[8]), 10, 0)
                if bytes.Contains(slice[5], []byte("keep_stopp=on")) {
                        atomic.AddUint64(&keepStoppSize, uint64(size))
                        continue
                }
                atomic.AddUint64(&totalSize, uint64(size))
                if errMsg != nil {
                        errList = append(errList, errMsg)
                        continue
                }
        }
        if errMsg == scanner.Err() {
                resultFilePath := path + "/result_" + file + ".out"
                resultFileHandle, err := os.OpenFile(resultFilePath, os.O_CREATE|os.O_WRONLY, 0755)
                defer resultFileHandle.Close()
                if err != nil {
                        fmt.Println(err)
                }
                resultFileHandle.WriteString("TotalSize:" + strconv.Itoa(int(totalSize)) + "\r\n")
                resultFileHandle.WriteString("KeepStoppSize:" + strconv.Itoa(int(keepStoppSize)) + "\r\n")
                return
        }
}
回复了 mengzhuo 创建的主题: 分享自己做的“静态”博客--bla 2015-11-27 12:24

MD 确实在纯文字的输入终端是很方便,但是,每次写静态博客都得:

  1. 在一台机子上编辑MD
  2. 编译
  3. 上传

这样浪费了很多时间在等待上传、编译上
可是做为web服务,就应该自动上传、编译啊!

回复了 gvforjob 创建的主题: goroutine会不会对垃圾回收造成压力? 2015-11-11 13:59

同意1楼
不过楼主可得注意buffer的使用,得用Leaky buffer

回复了 sky123 创建的主题: 做web前后端开发,Mac苹果电脑,是最佳装备吗 2015-11-01 13:42

我一个后端开发工作中用Windows 7、Ubuntu、Debian、Centos、OS X,照样可以和睦相处。但我最喜欢的还是Mac那种开机就专心工作、娱乐、刷steam,不用操心软件、硬件的感觉。

对了,我97年接触win3.1/DOS、07年接触Linux、12年接触Mac。
用过3个月以上的机型包括IBM 386/586、3台以上杂牌组装机、华硕某笔记本,Thinkpad x41t、x61、x200s、x1c。应该算是比较有发言权了。

回复了 yupeikui 创建的主题: 在linux上交叉编译,第三方包报错,使用的是zmq4,报错是auth.go中,undefined: Socket,这应该是乱报的,所以考虑到是不是goenv出问题了,还是什么? 2015-09-11 21:42

语死早
怎么可能是乱报?
gcc设置正确吗?
auth.go和libsodium有关系,你需要加密通讯么?

回复了 gomgo 创建的主题: 请问这个远程攻击是干么作用的? 2015-09-01 13:14

搜 shellshock

回复了 Comdex 创建的主题: 关于Golang切片的一个很费解的问题 2015-08-24 11:18

@stevewang
动作好快啊……

回复了 Comdex 创建的主题: 关于Golang切片的一个很费解的问题 2015-08-24 11:17

因为slice是传递的都是指针
看这个
http://play.golang.org/p/FCKDJk9Bf5

w 只是 a 的一部分,当你改变a的时候,就已经在改变w了

回复了 zmguozi 创建的主题: Go1.5严重Bug,Go粉们慎用! 2015-08-24 11:02

用下面这个patch重新编译一次就好了
貌似是过早地Regfree了CMP 中的 R2?
src/cmd/compile/internal/gc/cgen.go

diff --git a/src/cmd/compile/internal/gc/cgen.go b/src/cmd/compile/internal/gc/cgen.go
index 4160ae9..b6a3e5b 100644
--- a/src/cmd/compile/internal/gc/cgen.go
+++ b/src/cmd/compile/internal/gc/cgen.go
@@ -2018,11 +2018,11 @@ func bgenx(n, res *Node, wantTrue bool, likely int, to *obj.Prog) {
        Regalloc(&n2, nr.Type, nil)
        Cgen(nr, &n2)
        nr = &n2
-       Regfree(&n2)

        Regalloc(&n1, nl.Type, nil)
        Cgen(&tmp, &n1)
        Regfree(&n1)
+       Regfree(&n2)
    } else {
        var n1 Node
        if !nl.Addable && Ctxt.Arch.Thechar == '8' {
mengzhuo 创建的更多回复