go文件命名尽量不要使用下划线分隔,有坑


package main

import (
        "bytes"
        "flag"
        "fmt"
        "github.com/golang/glog"
        "os/exec"
)

func main() {
        var cmd *exec.Cmd

        //初始化命令行参数
        flag.Parse()
        //退出时调用,确保日志写入磁盘文件中
        defer glog.Flush()

        cmd = exec.Command("/bin/sh", "-c", "ps -e | grep  send_test_data")
        var out bytes.Buffer
        var stderr bytes.Buffer
        cmd.Stdout = &out
        cmd.Stderr = &stderr
        err := cmd.Run()
        process_str := out.String()
        fmt.Print(process_str)
        if err != nil {
                fmt.Println(fmt.Sprint(err) + ": @@@@" + stderr.String())
        }
}

以上代码的文件名名称为   send_test_data.go

运行返回结果:exit status 1: @@@@

 

package main

import (
        "bytes"
        "flag"
        "fmt"
        "github.com/golang/glog"
        "os/exec"
)

func main() {
        var cmd *exec.Cmd

        //初始化命令行参数
        flag.Parse()
        //退出时调用,确保日志写入磁盘文件中
        defer glog.Flush()

        cmd = exec.Command("/bin/sh", "-c", "ps -e | grep  send_data")
        var out bytes.Buffer
        var stderr bytes.Buffer
        cmd.Stdout = &out
        cmd.Stderr = &stderr
        err := cmd.Run()
        process_str := out.String()
        fmt.Print(process_str)
        if err != nil {
                fmt.Println(fmt.Sprint(err) + ": @@@@" + stderr.String())
        }
}

以上代码的文件名名称为   send_data.go

运行返回结果:34211 pts/1    00:00:00 send_data

 

https://golang.google.cn/doc/effective_go#mixed-caps

官方文档:

MixedCaps

Finally, the convention in Go is to use MixedCaps or mixedCaps rather than underscores to write multiword names.

 

结论:

1、尽量不要使用下划线来分隔文件名,即使使用,也不要超过1个下划线;

 

 

 

ERROR:go run: cannot run *_test.go files 

比如执行:go run aaa_test.go报如上错误。

*_test.go是golang特有的约定,为测试文件。

可以深入了解一下 go test相关。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扬子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值