对于一个golang开发者来说,牢固扎实的基础是十分重要的,编程网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《如何将映射转换为条目切片?》,主要介绍了,希望对大家的知识积累有所帮助,快
对于一个golang开发者来说,牢固扎实的基础是十分重要的,编程网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《如何将映射转换为条目切片?》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!
问题内容我正在尝试将键值映射转换为成对的切片,例如给定如下映射:
m := make(map[int64]int64)
m[521] = 4
m[528] = 8
如何将其转换为其条目的一部分,例如:[[521, 4], [528, 8]]
我正在考虑遍历所有这些键值,然后为其创建切片,但是有没有简单的代码可以做到这一点?
package main
import "fmt"
func main() {
//create a map
m := map[int64]int64{512: 8, 513: 9, 234: 9, 392: 0}
//create a slice to hold required values
s := make([][]int64, 0)
//range over map `m` to append to slice `s`
for k, v := range m {
// append each element, with a new slice []int64{k, v}
s = append(s, []int64{k, v})
}
fmt.println(s)
}
// MapToSlice to convert map[k]v to []struct{field1: k, field2: v.abc, field3: v.def}
func MapToSlice[E comparable, T any, A any](HashMap map[E]T, new func(E, T) A) []A {
var slice []A
for k, v := range hashmap {
slice = append(slice, new(k, v))
}
return slice
}
演示: https://Go.dev/play/p/1sssP0lYb17
今天关于《如何将映射转换为条目切片?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在编程网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
--结束END--
本文标题: 如何将映射转换为条目切片?
本文链接: https://lsjlt.com/news/596568.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0