golang javascript 对象等效项

Lol*_*pez 5 javascript go

在 Javascript 中,我们可以这样创建对象:

var car = {type:"Fiat", model:"500", color:"white"};
Run Code Online (Sandbox Code Playgroud)

因此,如果我们想打印汽车的模型,那么我们在控制台中执行以下操作:

console.log(car.model);
Run Code Online (Sandbox Code Playgroud)

或者

console.log(car['model']);
Run Code Online (Sandbox Code Playgroud)

然后,我们将得到:

"500"
Run Code Online (Sandbox Code Playgroud)

Golang 有类似 Javascript Object 的东西吗?或者我该如何解决这个问题?

Har*_*ren 11

Golang 是一种静态类型语言,因此通常您会提前定义数据类型,指定字段类型等,以允许编译器为您检查类型不匹配。

或者您可以使用 a map,只要存储在其中的所有值都具有相同的类型:

package main

import "fmt"

type car struct {
    Type  string
    Model string
    Color string
}

func main() {
    c1 := car{
        Type:  "Fiat",
        Model: "500",
        Color: "white",
    }
    fmt.Println(c1.Model)

    c2 := map[string]string{
        "Type":  "Fiat",
        "Model": "500",
        "Color": "white",
    }
    fmt.Printl(c2["Model"])
}
Run Code Online (Sandbox Code Playgroud)