doujiao6507 2015-03-18 12:42
浏览 48
已采纳

OSX 10.10.2-cmd启动未定义显示

How to fix it? (OSX 10.10.2, go version go1.4.2 darwin/amd64)

Error:

cmd.Start undefined (type string has no field or method Start)

Code:

  myos := runtime.GOOS;
  myarch := runtime.GOARCH;
  const url = "http://localhsot:9090"
  if myarch == "386" {
      cmd := exec.Command("open", "-b" , "com.google.Chrome", "--args", "--chrome-frame", "--kiosk", url);
    } else {
      cmd := exec.Command("open", "-b" , "com.google.Chrome", "--args", "--chrome-frame", "--kiosk", url);
    }
    err := cmd.Start();
    if err != nil {
      fmt.Println("failed");
    } 
  • 写回答

1条回答 默认 最新

  • dongleibeng5602 2015-03-18 12:45
    关注

    If your cmd variable is shadowing a cmd parameter in an enclosing function (not visible in the OP's question), then the cmd := exec.Command would declare a new cmd (short variable declaration form) which wouldn't be visible outside of the if/else scope.

    The OP YumYumYum confirms in the comments:

    I had this: func main() { cmd := "";

    This is a short variable declaration associating the type string to cmd.
    That wouldn't work well with exec.Command() *exec.Cmd, which returns a *exec.Cmd.

    If would be better to declare a var cmdopen *exec.Cmd (different name, just to be on the safe side) and instantiates it, in order to be sure that the cmdopen is from the expected type *exec.Cmd.

    var cmdopen *exec.Cmd
    if myarch == "386" {
        cmdopen = exec.Command("open", "-b", "com.google.Chrome", "--args", "--chrome-frame", "--kiosk", url)
    } else {
        cmdopen = exec.Command("open", "-b", "com.google.Chrome", "--args", "--chrome-frame", "--kiosk", url)
    }
    err := cmdopen.Start()
    

    (note the use of '=' instead of ':=' in cmdopen = exec.Command)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件