zoukankan      html  css  js  c++  java
  • 8.golang 创建方法

    package main

    import (
    "fmt"
    "math"
    )

    type Movie struct {
    Name string
    Rating float32
    }

    /*
    创建方法: 创建方法 跟创建函数差不多,只是在func后面多了一个接受者,这个接受者可以被结构体引用,形成一种结构体的方法集
    并且使任何关联到结构体的方法,都能使用他拥有的方法集中的方法,这样就能形成封装功能和创建库代码的有效方法
    通过这种方法,我们可以理解成 一个类下面(golang中的结构体),所有方法(关联到这个结构体的所有方法)
    接收者参数声明为指针引用 和 值引用的差别(就是在接受者中,是否用* 星号符): 如果需要修改原始结构体,就使用指针;如果需要操作结构体,但不想修改原始结构体,就是用值
    方法声明方式: type ... struct{}

      在函数中添加接受者就成了方法了,接受者指向某个结构体(用 * [struct]),那么就是这个结构体的方法。


    */

    type Sphere struct {
    Radius float64
    }

    func (s *Sphere) jiOne() float64 { //圆的面积
    return float64(4)*math.Pi + (s.Radius * s.Radius)
    }

    func (s *Sphere) jiTwo() float64 { //圆的体积
    radiusCubed := s.Radius * s.Radius * s.Radius
    return (float64(4)/float64(3))*math.Pi + radiusCubed
    }

    func main() {
    s := Sphere{Radius: 5}
    fmt.Println(s.jiOne())
    fmt.Println(s.jiTwo())
    }

  • 相关阅读:
    HyperV创建NAT网络
    Win10
    ConEmu
    ffmpeg的centos、msys2、msvc编译
    7z压缩gopath的src的批处理
    VS2015自带v120的Platform Toolset
    Putty配置
    第一章:HTML5的基础
    java的错题整理
    第十四章:类的带参方法
  • 原文地址:https://www.cnblogs.com/iifeng/p/11488921.html
Copyright © 2011-2022 走看看