Go语言结构体之属性及函数

  • 属性和函数定义
  • 两种作用域

目录结构

    ├── demo
    │    └── demo.go
    ├── go.mod
    └── main.go

demo.go文件

        package demo
        import "fmt"
        type Dog struct {
            ID int          //属性
            Name string
            Age int
        }
        func (d *Dog)Run()  {    //Run 大写字母开头的方法为共有方法
            fmt.Println("ID:",d.ID,"DOG is running")
        }
        func (d *Dog)run1()  {   //run1 小写字母开头的方法为私有方法
            fmt.Println("ID:",d.ID,"DOG is running")
        }

main.go文件

    package main
    import "./demo"
    func main()  {
        dog := new(demo.Dog)
        dog.ID = 1              //属性赋值
        dog.Name = "GG"
        dog.Age = 5
        dog.Run()        //ID: 1 DOG is running
        //dog.run1()     // 不能调用私有方法
    }

关注友儿不迷路

Last modification:September 23rd, 2020 at 02:28 pm
如果觉得我的文章对你有用,请随意赞赏