doubei2340 2016-06-09 10:51
浏览 68

在Golang中填充对象

How can I fill the todos-Object with a for-loop?

type Row struct {
    Name      string
    Completed bool
    Due       time.Time
    Rcount    string
}
type Rows []Row
todos := Rows{
        Row{Name: "Write presentation"},
        Row{Name: "Host meetup"},
}
  • 写回答

2条回答 默认 最新

  • dongyong8491 2016-06-09 14:07
    关注

    I think you are looking for the builtin function append

    Note that it is normally used in combination with an assignment, because it may have to allocate additional memory. A zero value slice works just fine, no need to call make.

    steps := []string{"write program", "???", "profit"}
    
    var rows []Row
    for _, tasks := range steps {
      rows = append(rows, Row{Name: tasks})
    }
    

    If you want to loop over a sqlite3 query result, your loop will look different, but the x = append(x, ...) pattern will stay the same

    If you know in advance how big your slice is going to be, explicit initialization with make will be more efficient.

    var rows = make([]Row, len(steps))
    for i, tasks := range steps {
        rows[i] = Row{Name: tasks}
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私