gpt4 book ai didi

struct - Go中的两种结构声明形式

转载 作者:IT王子 更新时间:2023-10-29 01:00:52 25 4
gpt4 key购买 nike

我在函数范围内有两种形式的结构声明。据我所知,下面列出的代码片段工作得很好。问题是这两种申报方式有什么区别?这只是一个语义问题还是背后有什么棘手的问题?

package main

import "fmt"

func main() {
type Person1 struct {
Name string
Id int
}
person1 := &Person1{Name : "John Smith", Id : 10}
fmt.Printf("(%s, %d)\n", person1.Name, person1.Id)
var person2 struct {
name string
id int
}
person2.name = "Kenneth Box"
person2.id = 20
fmt.Printf("(%s, %d)\n", person2.name, person2.id)
}

最佳答案

一个是命名类型 - 如果需要,您可以使用类型名称创建该类型的多个变量。

另一种类型没有名字。除了使用 := 运算符之外,您不能创建更多该类型的变量。

关于struct - Go中的两种结构声明形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3804389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com