gpt4 book ai didi

go - 从标志中你如何返回一个(int)而不是一个(*int)?

转载 作者:IT王子 更新时间:2023-10-29 02:34:51 27 4
gpt4 key购买 nike

这个程序返回:

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 的简单方法??

最佳答案

简单地取消引用指针:

num_agents := flags.Int("a", 10, "number of agents")
fmt.Println(*num_agents)

关于go - 从标志中你如何返回一个(int)而不是一个(*int)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11075586/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com