このプログラムは以下を返します。
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)
}
しかし、それは正しくないようです... 1行のコードを書く必要があるのに、2行のコードを書く必要があるからです。どういうわけか私にはそう思われる
num_agents := flags.Int("a", 10, "number of agents")
*int の代わりに int を返す必要がありますか? あるいは、*int から int にキャストする簡単な方法があるのではないでしょうか??