Go 这两种结构定义之间有什么区别?

Go 这两种结构定义之间有什么区别?,go,Go,这两种结构类型定义之间有什么区别 var query1 struct { A, B string } query2 := struct { va1 string va2 int }{"Hello", 5} 为什么我不能用第二个值初始化第一个呢?它们之间的区别是什么?您可以“使用类似于second的值初始化第一个值”。例如 package main import "fmt" func main() { var query1 = struct {

这两种结构类型定义之间有什么区别

var query1 struct {
    A, B string
}

query2 := struct {
    va1 string
    va2 int
}{"Hello", 5}
为什么我不能用第二个值初始化第一个呢?它们之间的区别是什么?

您可以“使用类似于second的值初始化第一个值”。例如

package main

import "fmt"

func main() {
    var query1 = struct {
        A, B string
    }{"Hello", "5"}

    query2 := struct {
        va1 string
        va2 int
    }{"Hello", 5}

    fmt.Println(query1, query2)
}
输出:

{Hello 5}{Hello 5}

query1
是一个问题
query2
是一个变量。

您可以“使用类似于second的值初始化第一个变量”。例如

package main

import "fmt"

func main() {
    var query1 = struct {
        A, B string
    }{"Hello", "5"}

    query2 := struct {
        va1 string
        va2 int
    }{"Hello", 5}

    fmt.Println(query1, query2)
}
输出:

{Hello 5}{Hello 5}


query1
是一个问题
query2
是一个。

第一个有两个字符串成员,第二个有一个字符串和一个int。据我所知,如果不进行类型转换,就无法协调这些成员。第一个有两个字符串成员,第二个有一个字符串和一个int。据我所知,如果不进行类型转换,就无法协调这些成员。