我是新手,我试图从数组中提取一些特定数据(Employee.ID)并将其插入另一个(新)数组。
到目前为止,我没有运气,我使用的代码如下:
package main
import (
"fmt"
)
type Employee struct {
ID int64
Name string
Department string
}
func main() {
employees := []Employee{{1, "Ram", "India"}, {2, "Criest", "Europe"}}
ids := []int64{}
for i, v := range employees {
fmt.Println(i, v)
}
}
简而言之,我想从employees
数组中提取ID并将其复制到ids
数组。 employees
数组的大小在任何时间点都不固定。
感谢您的帮助。
答案 0 :(得分:6)
您可以使用d-*-flex
获取切片的长度。通常,如果您事先了解尺寸,len(employees)
最好选择ids := make([]int64, length)
,因为随着切片的增长,这将导致更少的分配。
ids := []int64{}
或略有不同的风格:
ids := make([]int64, len(employees))
for i,e := range employees{
ids[i] = e.ID
}