Array of structure equivalent in golang

huangapple go评论102阅读模式
英文:

Array of structure equivalent in golang

问题

我正在寻找与结构体数组等效的内容,或者与以下Go语言代码等效的内容:

type myStruct struct {
    a int
    b string
}

var ins [10]myStruct
var p [10]*myStruct

// 如何在Go语言中为这些变量赋值?

你可以使用以下方式为这些变量赋值:

// 为ins数组中的元素赋值
ins[0].a = 1
ins[0].b = "A"

ins[1].a = 2
ins[1].b = "B"

// 为p数组中的元素赋值
p[0] = &ins[0]
p[1] = &ins[1]

这样,你就可以通过ins数组和p数组来访问和操作结构体的成员了。

英文:

I am looking for something equivalent to array of structures. Or something equivalent to the following code in golang:

struct my_struct {
     int a;
     char b;
}ins[10],*p[10];

Any example, how can I feed/assign values to these in golang?

答案1

得分: 1

你可以在这里找到有关数组的一些基本信息:http://golang.org/doc/effective_go.html#arrays

package main

import (
	"fmt"
)

var s [10]MyStruct // 初始化为0

func main() {
	for k, v := range s {
		fmt.Println(k, v.a)
	}
}

type MyStruct struct {
	a int64
}
英文:

You can find some basic info on arrays: http://golang.org/doc/effective_go.html#arrays

package main

import (
	"fmt"
)

var s [10]MyStruct //initializes to 0

func main() {
	for k, v := range s {
		fmt.Println(k, v.a)
	}
}

type MyStruct struct {
	a int64
}

答案2

得分: 0

// 定义结构类型
type my_struct struct {
a int
b rune
}

// 声明 my_struct 的切片
var a []my_struct

// 声明并初始化一个包含一个元素的结构体切片
b := make([]my_struct, 1)

// 创建结构体并保存
b[0] = my_struct{1, 'a'}

// 追加一个新的结构体
b = append(b, my_struct{2, 'b'})

如果你想更多地了解结构体和切片,你一定要阅读 https://golang.org/doc/effective_go.html

英文:
// define structure type
type my_struct struct {
  a int
  b rune
}

// declare slice of my_struct
var a []my_struct

// declare and initialise struct with one element 
b := make([]my_struct, 1)

// create structure and save it
b[0] = my_struct{1, 'a'}

// append a new one
b = append(b, my_struct{2, 'b'})

You definitely have to read https://golang.org/doc/effective_go.html, especially about structs and slices if you want to know more about them.

huangapple
  • 本文由 发表于 2015年7月29日 20:49:39
  • 转载请务必保留本文链接:https://go.coder-hub.com/31700897.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定