我很难在GoCode中以VSCode(调试模式)传递命令行参数。
下面是小代码示例和launch.json:
package main
import (
"flag"
"fmt"
)
func main() {
flag1Ptr := flag.Bool("flag1", false, "flag1 is a flag")
flag.Parse()
fmt.Println(*flag1Ptr)
fmt.Println("Hello, world")
}
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}",
"env": {},
"args": [
"-flag1"
]
}
]
}
* flag1Ptr的输出始终为“ false”,但应为“ true”。
更新:关闭VSCode并重新打开它后,问题消失了(我在Mac(osX)上)
答案 0 :(得分:2)
列出所有参数,例如, 命令是:
"hello.exe -in InfoEntity.java -out aa.out"
调试配置为:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}",
"env": {},
"args": ["-in", "InfoEntity.java", "-out", "aa.out"]
}
]
}