遍历切片将值放入结构体GO
时间: 2023-06-23 09:46:19 浏览: 38
可以通过遍历切片,将其中的值放入结构体中,示例代码如下:
```go
type Person struct {
Name string
Age int
Hobbies []string
}
func main() {
hobbies := []string{"reading", "running", "swimming"}
var persons []Person
for i := 0; i < 3; i++ {
person := Person{Name: "John", Age: 30}
person.Hobbies = append(person.Hobbies, hobbies[i])
persons = append(persons, person)
}
fmt.Println(persons)
}
```
在上面的例子中,我们定义了一个 `Person` 结构体,其中包含了一个 `Hobbies` 字段,类型为字符串切片。我们首先定义了一个 `hobbies` 切片,然后遍历 `hobbies` 切片,将其中的值一个一个放入到 `persons` 切片中的不同结构体实例中,最终输出 `persons` 切片。
相关问题
遍历切片将值放入结构体字段GO
可以通过遍历切片并将切片中的值一个一个放入到结构体中的字段中,示例代码如下:
```go
type Person struct {
Name string
Age int
Hobby string
}
func main() {
hobbies := []string{"reading", "running", "swimming"}
var persons []Person
for _, hobby := range hobbies {
person := Person{Name: "John", Age: 30, Hobby: hobby}
persons = append(persons, person)
}
fmt.Println(persons)
}
```
在上面的例子中,我们定义了一个 `Person` 结构体,其中包含了一个 `Hobby` 字段,类型为字符串。我们首先定义了一个 `hobbies` 切片,然后遍历 `hobbies` 切片,将其中的值一个一个放入到 `persons` 切片中的不同结构体实例中的 `Hobby` 字段中,最终输出 `persons` 切片。
C语言利用循环遍历将向量中的数据放入结构体变量中
假设我们有一个存储结构体类型为`Person`的向量`personVec`,如下所示:
```c++
struct Person {
std::string name;
int age;
double height;
};
std::vector<Person> personVec;
```
现在我们想将向量`personVec`中的数据放入结构体变量`p`中,可以使用如下的代码:
```c++
for(int i = 0; i < personVec.size(); i++) {
Person p = personVec[i]; // 取出向量中的第i个元素,放入结构体变量p中
// 对结构体变量p进行操作,例如输出结构体中的成员变量
std::cout << "Name: " << p.name << ", Age: " << p.age << ", Height: " << p.height << std::endl;
}
```
这段代码使用了一个for循环来遍历向量中的每个元素,将每个元素的值放入结构体变量`p`中,然后对结构体变量进行操作。这样我们就可以将向量中的数据放入结构体变量中了。