该程序返回:
package main
import (
"flag"
"fmt"
)
func main() {
num_agents := flag.Int("a", 10, "number of agents")
flag.Parse();
fmt.Printf("%#v",num_agents)
}
输出
(*int)(0x18600110)`
然而,这不是我想要的......我想要的是整数。
所以根据文档似乎我应该使用 flag.IntVar(&pointer_to_variable_integer)
package main
import (
"flag"
"fmt"
)
func main() {
var num_agents int
flag.IntVar(&num_agents,"a", 10, "number of agents")
flag.Parse();
fmt.Printf("%#v",num_agents)
}
但是,这似乎不对...因为我需要编写 2 行代码,而 1 应该这样做。在我看来,不知何故
num_agents := flags.Int("a", 10, "number of agents")
应该返回一个 int 而不是 *int.?或者也许有一种简单的方法可以从 *int 转换为 int ?