怎么入门golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面编程网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《有没有更简单的方法来附加结构体切片
怎么入门golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面编程网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《有没有更简单的方法来附加结构体切片?》,涉及到,有需要的可以收藏一下
问题内容以下代码有效,但我想找到一种更简单的方法来实现它
package main
import "fmt"
type steps []struct {
i int
j int
}
func main() {
steps := steps{}
type step struct{ i, j int }
steps = append(steps, step{1, 1}, step{1, 2})
fmt.println(steps)
}
具体来说,我不想定义一个新类型只是为了将其附加到切片中。例如,我想这样做:
package main
import "fmt"
type steps []struct {
i int
j int
}
func main() {
steps := steps{}
steps = append(steps, {1, 1}, {1, 2}) // syntax error
fmt.Println(steps)
}
但是我会收到“语法错误:意外的 {,期望表达式”
我不明白为什么我不能这样做,数据结构是正确的。
您在切片中创建了一个匿名结构,因此在添加元素时需要重复该架构:
// works - but a bit tedious...
steps = append(steps,
struct {
i int
j int
}{1, 1},
struct {
i int
j int
}{1, 2},
)
或定义子类型:
type step struct {
i int
j int
}
type steps []step
steps = append(steps, step{3, 4}, step{5, 6})
playground example
今天关于《有没有更简单的方法来附加结构体切片?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注编程网公众号!
--结束END--
本文标题: 有没有更简单的方法来附加结构体切片?
本文链接: https://lsjlt.com/news/596175.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