• 75_Go基础_1_42 方法


     1 package main
     2 
     3 import "fmt"
     4 
     5 //1.定义一个工人结构体
     6 type Worker struct {
     7     name string
     8     age  int
     9     sex  string
    10 }
    11 
    12 type Cat struct {
    13     color string
    14     age   int
    15 }
    16 
    17 // 2.定义行为方法
    18 func (w Worker) work() { //w = w1
    19     fmt.Println(w.name, "在工作。。。")
    20 }
    21 
    22 func (p *Worker) rest() { //p = w2 ,p = w1的地址
    23     fmt.Println(p.name, "在休息。。")
    24 }
    25 
    26 func (p *Worker) printInfo() {
    27     fmt.Printf("工人姓名:%s,工人年龄:%d,工人性别:%s\n", p.name, p.age, p.sex)
    28 }
    29 
    30 func (p *Cat) printInfo() {
    31     fmt.Printf("猫咪的颜色:%s,年龄:%d\n", p.color, p.age)
    32 }
    33 
    34 func main() {
    35     /*
    36         方法:method
    37             一个方法就是一个包含了接受者的函数,接受者可以是命名类型或者结构体类型的一个值或者是一个指针。
    38             所有给定类型的方法属于该类型的方法集
    39 
    40 
    41         语法:
    42             func (接受者) 方法名(参数列表)(返回值列表){
    43 
    44             }
    45 
    46         总结:method,同函数类似,区别需要有接受者。(也就是调用者)
    47 
    48         对比函数:
    49             A:意义
    50                 方法:某个类别的行为功能,需要指定的接受者调用
    51                 函数:一段独立功能的代码,可以直接调用
    52 
    53             B:语法
    54                 方法:方法名可以相同,只要接受者不同
    55                 函数:命名不能冲突
    56 
    57     */
    58 
    59     w1 := Worker{name: "王二狗", age: 30, sex: ""}
    60     w1.work() // 王二狗 在工作。。。
    61 
    62     w2 := &Worker{name: "Ruby", age: 34, sex: ""}
    63     fmt.Printf("%T\n", w2) // *main.Worker
    64     w2.work()              // Ruby 在工作。。。
    65 
    66     w2.rest() // Ruby 在休息。。
    67     w1.rest() // 王二狗 在休息。。
    68 
    69     w2.printInfo() // 工人姓名:Ruby,工人年龄:34,工人性别:女
    70     c1 := Cat{color: "白色的", age: 1}
    71     c1.printInfo() // 猫咪的颜色:白色的,年龄:1
    72 
    73 }
  • 相关阅读:
    解决mongodb设备mongod命令不是内部或外部的命令
    Zoj 3545 Rescue the Rabbit(ac自己主动机+dp)
    中国云计算网站的第六次会议
    MYSQL,innodb_buffer_pool_size内存分配
    SharePoint综合Excel数据与Excel Web Access Web部分
    在小发现SQL字符串比较是不是他们的大写和小写敏感
    代码质量初步
    软件开发:速度 vs 质量
    UI概念体系要素
    模式与方法论
  • 原文地址:https://www.cnblogs.com/luwei0915/p/15630263.html
Copyright © 2020-2023  润新知