Golang语法基础:使用struct

5年以前  |  阅读数:287 次  |  编程语言:Golang 

Go 的结构体(struct) 是带类型的字段(fields)集合。这在组织数据时非常有用。

package main

import "fmt"

// 这里的 `person` 结构体包含了 `name` 和 `age` 两个字段。
type person struct {
    name string
    age  int
}

func main() {

    // 使用这个语法创建新的结构体元素。
    fmt.Println(person{"Bob", 20})

    // 你可以在初始化一个结构体元素时指定字段名字。
    fmt.Println(person{name: "Alice", age: 30})

    // 省略的字段将被初始化为零值。
    fmt.Println(person{name: "Fred"})

    // `&` 前缀生成一个结构体指针。
    fmt.Println(&person{name: "Ann", age: 40})

    // 使用`.`来访问结构体字段。
    s := person{name: "Sean", age: 50}
    fmt.Println(s.name)

    // 也可以对结构体指针使用`.` - 指针会被自动解引用。
    sp := &s
    fmt.Println(sp.age)

    // 结构体是可变(mutable)的。
    sp.age = 51
    fmt.Println(sp.age)
}

执行程序:

$ go run structs.go
{Bob 20}
{Alice 30}
{Fred 0}
&{Ann 40}
Sean
50
51
 相关文章:
Golang使用定时器
Golang语法基础:在结构体类型中定义方法
Golang语法基础:可变参数
使用errors传递错误信息
Golang使用`math/rand`包生成伪随机数
从字符串中解析数字
使用`strings`包处理字符串
使用printf格式化字符串
Golang处理时间的格式化及其与字符串之间的转换
定义与使用常量
Golang语法基础:使用协程
使用`sort`包排序
Golang使用正则表达式
Golang语法基础:利用自动推导定义变量
使用匿名函数
Golang语法基础,使用不同类型的数据
定义与使用函数
Golang语法基础:使用map
Golang语法基础,使用if
Golang语法基础:内建多返回值支持