golang结构体

Golang中的一个或多个结构是用户定义的类型,允许将可能不同类型的项目分组/组合为单个类型。具有一组属性/字段的任何现实世界实体都可以表示为结构。通常将此概念与面向对象编程中的类进行比较。可以将其称为轻量级类,它不支持继承但支持组合。

例如,一个地址具有名称,街道,城市,州,密码。如下所示,将这三个属性组合为一个结构地址是有意义的。

声明结构:

 type Address struct {
      name string 
      street string
      city string
      state string
      Pincode int
}

在上面,type关键字引入了一种新类型。其后是类型的名称(Address)和关键字struct,以说明我们正在定义结构。该结构包含花括号内各个字段的列表。每个字段都有一个名称和类型。

注意:我们还可以通过组合相同类型的各个字段来使它们紧凑,如下例所示:

type Address struct {
    name, street, city, state string
    Pincode int
}

定义结构:声明结构的语法:

var a Address

上面的代码创建一个Address类型的变量,默认情况下将其设置为零。对于结构,零表示所有字段均设置为其对应的零值。因此,字段名称,街道,城市,州都设置为“”,而Pincode设置为0。

您还可以使用结构文字来初始化结构类型的变量,如下所示:

var a = Address{"Akshay", "PremNagar", "Dehradun", "Uttarakhand", 252636}

注意:

  • 始终以在结构中声明它们的顺序传递字段值。同样,您不能仅使用上述语法初始化字段的子集。

  • Go还支持

    名称:value

    语法,用于初始化结构(使用此语法时字段的顺序无关紧要)。这样,您就只能初始化字段的子集。所有未初始化的字段均设置为其相应的零值。

    例:

    var a =地址{名称:“Akshay”,街道:“ PremNagar”,州:“ Uttarakhand”,密码:252636} //城市:””*

    要访问结构的各个字段,您必须使用点.运算符。

    var a Address
    var a = Address{Name:”Akshay”, street:”PremNagar”, state:”Uttarakhand”, Pincode:252636} //city:””
    fmt.Println("Name: ", a.Name) 

指向结构的指针

Go编程语言或Golang中的指针是一个变量,用于存储另一个变量的内存地址。您还可以创建一个指向结构的指针,如以下示例所

   emp8 := &Address{Name:”Akshay”, street:”PremNagar”, state:”Uttarakhand”, Pincode:252636} //city:””  
  // (*emp8).Name is the syntax to access 
  // the name field of the Address struct 
  fmt.Println("First Name:", (*emp8).Name) 
Linux ssh命令
Ubuntu和Kali Linux之间的区别
Tags: