我是新手,我试图从数组中提取一些特定数据(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)
}
}
Run Code Online (Sandbox Code Playgroud)
简而言之,我想从employees数组中提取ID 并将其复制到ids数组中.employees数组的大小在任何时间点都不固定.
感谢你的帮助.
您可以获得切片的长度len(employees).通常,如果您ids := make([]int64, length)事先知道大小,则可以选择,ids := []int64{}因为随着切片的增长,它将导致更少的分配.
ids := make([]int64, len(employees))
for i,e := range employees{
ids[i] = e.ID
}
Run Code Online (Sandbox Code Playgroud)
或略有替代风格:
ids := make([]int64, 0, len(employees)) // declare capacity, but not length
for _ , e := range employees{
ids = append(ids, e.ID)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |