V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
diagram2048
V2EX  ›  Go 编程语言

初学者,有个问题请教

  •  
  •   diagram2048 · 2019-12-23 15:14:31 +08:00 · 3207 次点击
    这是一个创建于 1776 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看 batch ping 这个库有个写法不理解,代码如下:

    //NewBatchPinger returns a new Pinger struct pointer, interval is default 1s, count default 5

    func NewBatchPinger(addrs []string, privileged bool) (batachPinger *BatchPinger, err error) {
    
    	var network string
    	if privileged {
    		network = "ip"
    	} else {
    		network = "udp"
    	}
    
    	batachPinger = &BatchPinger{
    		interval:    time.Second,
    		timeout:     time.Second * 100000,
    		count:       5,
    		network:     network,
    		id:          getPId(),
    		done:        make(chan bool),
    		addrs:       addrs,
    		mapIpPinger: make(map[string]*Pinger),
    		mapIpAddr:   make(map[string]string),
    	}
    
    	return batachPinger, nil
    }
    

    函数里的这个 batachPinger 变量没有定义,为啥可以直接用'=',我自己参考写就报错

    3 条回复    2019-12-23 15:28:49 +08:00
    hdbzsgm
        1
    hdbzsgm  
       2019-12-23 15:19:19 +08:00
    在 return val 里定义
    AzadCypress
        2
    AzadCypress  
       2019-12-23 15:23:18 +08:00 via Android
    go 命名返回值
    你自己搜一下这个
    diagram2048
        3
    diagram2048  
    OP
       2019-12-23 15:28:49 +08:00
    @AzadCypress 明白了,我自己写的名称不一样所以报错,多谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2495 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:34 · PVG 18:34 · LAX 03:34 · JFK 06:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.