结构体struct 使用总结

2020-01-03  本文已影响0人  不死鸟F21

1.嵌套基本类型 创建新的类型---类比"class"

type People struct {
    name, city string
    age        int8
}

2.基本使用例1

package main

import "fmt"

type student struct {
    name string
    age  int
}

func main() {
    m := make(map[string]student)
    students := []student{
        {name: "小王子", age: 18},
        {name: "娜扎", age: 23},
        {name: "大王八", age: 9000},
    }
    for index, val := range students {
        m[val.name] = val
        fmt.Println(index)
    }

    for index, val := range m {
        fmt.Println(index, val)
    }
}
package main

import "fmt"

import "unsafe"

// People def
type People struct {
    Name string
    Age  int
}

func (p *People) String() {
    fmt.Printf("%p\n", unsafe.Pointer(&p.Name))
}

// Str definition
func (p People) Str() {
    fmt.Printf("%p\n", unsafe.Pointer(&p.Name))
}

func main() {

    p := new(People)

    fmt.Printf("%p\n", unsafe.Pointer(&p.Name))
    p.Str()
}

3.初始化及定义
package main

import "fmt"

type Persion struct {
    name string
    sex  byte
    age  int
}

func main() {

    var man Persion = Persion{"Alex", 'f', 18}
    fmt.Println(man)
    man2 := Persion{name: "隔壁老赵", age: 21}
    fmt.Println(man2)
}


上一篇下一篇

猜你喜欢

热点阅读