簡體   English   中英

如何在Go中創建自定義類型元素的自定義類型數組?

[英]How do I make a customized type array of customized type elements in Go?

我正在嘗試創建一個名字和薪水的人,然后是一群人。 我在“data [0] = a”處得到的錯誤表明:“不能使用(類型人)作為類型*人員。” 我需要做某種類型的轉換,就像在Java中一樣嗎?

package main

import "fmt"

type person struct {
    name   string
    salary float64
}

type people []*person

func main() {

    var data = make(people, 10)

    var a person
    var b person
    a.name = "John Smith"
    a.salary = 74000
    b.name = "Jane Smith"
    b.salary = 82000

    data[0] = a
    data[1] = b

    fmt.Print(data)
}

你構建一個指向 person指針 這就是為什么你應該指向你ab

package main

import "fmt"

type person struct {
    name   string
    salary float64
}

type people []*person

func main() {
    var data = make(people, 10)

    var a person
    var b person
    a.name = "John Smith"
    a.salary = 74000
    b.name = "Jane Smith"
    b.salary = 82000

    data[0] = &a
    data[1] = &b

    fmt.Print(data)
}

另一種方法是將ab定義為結構的指針。

package main

import "fmt"

type person struct {
    name   string
    salary float64
}

type people []*person

func main() {
    var data = make(people, 10)
    a := &person{}
    b := &person{}

    a.name = "John Smith"
    a.salary = 74000
    b.name = "Jane Smith"
    b.salary = 82000

    data[0] = a
    data[1] = b

    fmt.Print(data)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM