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())
    }

  • 相关阅读:
    Java的快速失败和安全失败
    Java RMI与RPC的区别
    Java动态代理之JDK实现和CGlib实现(简单易懂)
    JVM——字节码增强技术简介
    Linux内存分配机制之伙伴系统和SLAB
    操作系统动态内存管理——malloc和free的工作机制
    Java中的Map
    Java的PriorityQueue
    Java中的List
    Java中的Set
  • 原文地址:https://www.cnblogs.com/iifeng/p/11488921.html
Copyright © 2011-2022 走看看