douji9184 2016-05-31 23:14
浏览 10
已采纳

声明且未使用

I can't find why below code gives compile error "alive declared and not used".

func ping(ip string)  {     
    var alive bool
    _, err := exec.Command("ping", "-n 1", "-w 1000", ip).Output()
    if err != nil {
        alive = false
    } else {
        alive = true
    }
}
  • 写回答

3条回答 默认 最新

  • douwan2664 2016-05-31 23:35
    关注

    The compile error you're seeing is exactly what is happening. That var alive bool is unused. You declare it and assign a value to it but you never do anything with it.

    Here is a playground-friendly modification of your code that will run:

    package main
    
    import (
        "fmt"
        "strconv"
    )
    
    func main() {
        fmt.Println(isInt("Hello, playground")) // prints false
        fmt.Println(isInt("1234567890")) // prints true
    }
    
    func isInt(s string) bool {
        var alive bool
        _, err := strconv.Atoi(s) // simply to demonstrate an error case
        if err != nil {
            alive = false
        } else {
            alive = true
        }
        return alive    
    }
    

    Notice that I return alive. The function is useless and not something I would suggest in and of itself but it should help illustrate what is missing in your example.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 像这种代码要怎么跑起来?
  • ¥15 怎么改成循环输入删除(语言-c语言)
  • ¥15 安卓C读取/dev/fastpipe屏幕像素数据
  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误
  • ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
  • ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
  • ¥100 描述一下元器件的基本功能,pcba板的基本原理
  • ¥15 STM32无法向设备写入固件