douya7282 2012-06-17 23:24
浏览 37
已采纳

从标志如何返回(int)而不是(* int)?

This program returns:

package main

import (
    "flag"
    "fmt"
)

func main() {
    num_agents := flag.Int("a", 10, "number of agents")
    flag.Parse();

    fmt.Printf("%#v",num_agents)
}

Outputs

(*int)(0x18600110)`

However that is not what I want... What I want is the integer.

So according to the documentation seems I should use 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)
}

However that doesn't seem right... Because I need to write 2 lines of code when 1 should do. somehow it seems to me that

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

Should return an int instead of *int.? Or maybe there is an easy way to cast from *int to int ??

  • 写回答

2条回答 默认 最新

  • dongxian0421 2012-06-17 23:27
    关注

    Simply dereference the pointer:

    num_agents := flags.Int("a", 10, "number of agents")
    fmt.Println(*num_agents)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100