美文网首页
go 面向对象编程1

go 面向对象编程1

作者: StevenQin | 来源:发表于2019-09-27 23:09 被阅读0次
  • 步骤


    image.png
  • 案例1
package main

import "fmt"

type Student struct {
    name   string
    gender string
    age    int
    id     int
    score  float64
}

func (student *Student) say() string {
    infoStr :=fmt.Sprintf("student的信息如下:name=[%v] gender=[%v],age=[%v] id=[%v] score=[%v]",
        student.name,student.gender,student.age,student.id,student.score,
    )
    return infoStr
}

func main() {
    var stu Student
    stu.name="stevn.qin"
    stu.gender="男"
    stu.age=30
    stu.id=68
    stu.score=300
    res :=stu.say()
    fmt.Println(res)
}
  • 案例2 计算盒子的体积


package main

import "fmt"

type Box struct {
    len    float64
    width  float64
    height float64
}

func (box *Box) getVolumn() float64 {
    return box.len * box.width * box.height
}

func main() {
    var box = Box{
        len:78.9,
        width:12.3,
        height:5.1,
    }
    fmt.Printf("体积为:%.1f\n",box.getVolumn())
}

  • 门票案例


    image.png
package main

import "fmt"

type Visitor struct {
    Name string
    Age  int
}

func (visitor *Visitor) showPrice() {
    if visitor.Age > 90 || visitor.Age < 8 {
        fmt.Println("出于安全考虑,建议不要入园游玩..感谢您的谅解")
        //因为方法没有返回值,所以就return就可以了
        return
    }
    if visitor.Age > 18 {
        fmt.Printf("姓名是%v,年龄为%v,门票价格为20元。\n", visitor.Name, visitor.Age)
    } else {
        fmt.Printf("姓名是%v,年龄为%v,门票免费。\n", visitor.Name, visitor.Age)
    }

}
func main() {
    var visitor Visitor
    for {
        fmt.Println("请输入姓名:")
        fmt.Scanln(&visitor.Name)
        if (visitor.Name == "n") {
            fmt.Println("退出程序....")
            break
        }
        fmt.Println("请输入年龄:")
        fmt.Scanln(&visitor.Age)
        visitor.showPrice()
    }
}

相关文章

  • struct

    面向对象编程 Go支持面向对象编程特性,但和传统面向对象编程是有区别的,Go并不是纯粹的面向对象语言。 Go没有类...

  • Go基础语法(十二)

    面向对象编程 Go 并不是完全面向对象的编程语言。 Go 官网的 FAQ 回答了 Go 是否是面向对象语言,摘录如...

  • 第十六章:Go语言面向对象编程

    1. GO语言OOP概述 Go语言不是纯粹的面向对象的语言,准确是描述是,Go语言支持面向对象编程的特性.Go语言...

  • go day06 面向对象 匿名组合 方法、方法集、方法

    面向对象 对于面向对象编程的支持Go语言设计的非常简洁而优雅。因为,Go语言并没有沿袭传统的面向对象编程中的诸多概...

  • go 面向对象编程1

    步骤image.png 案例1 案例2 计算盒子的体积 门票案例image.png

  • go语言20小时从入门到精通(八、 面向对象编程)

    8.1 概述 对于面向对象编程的支持Go 语言设计得非常简洁而优雅。因为, Go语言并没有沿袭传统面向对象编程中的...

  • 第13章-OOP面向对象编程

    面向对象(OOP) go并不是一个纯面向对象的编程语言。在go中的面向对象,结构体替换了类。 Go并没有提供类cl...

  • Golang(十三) OOP面向对象编程

    面向对象(OOP) go并不是一个纯面向对象的编程语言。在go中的面向对象,结构体替换了类。 Go并没有提供类cl...

  • golang faq 精选

    go 是面向对象语言吗? 是也不是说是 因为 go 有 类型和方法 支持面向对象的方式编程。说不是 因为go没有...

  • 26. 结构体取代类

    26. 结构体取代类 Go 支持面向对象吗? Go 并不是完全面向对象的编程语言。Go 官网回答了 Go 是否是面...

网友评论

      本文标题:go 面向对象编程1

      本文链接:https://www.haomeiwen.com/subject/ssfzuctx.html