美文网首页
go语言中的方法

go语言中的方法

作者: CurryCoder | 来源:发表于2020-10-18 20:46 被阅读0次
package main

import "fmt"


// 可以将方法与同包中声明的任何类型相关联,但不可以是int、float64等预声明的类型进行关联。
type cell float64
type floor float64

func convertT(f floor) cell {
    return cell(f - 273.15)
}

// 将cell()方法与floor类型相关联
func (f floor) cell() cell {
    return cell(f - 273.15)
}

// 上述cell()方法中,虽然没有参数,但它前面却有一个类型参数的接收者f

// 每个方法可以有多个参数,但只能有一个接收者

// 在方法体中,接收者的行为和其它参数一样


// 方法的声明
    // func (f floor) cell() cell
        // f floor:接收者,可以将方法与同包中声明的任何类型floor相关联,但不可以是int、float64等预声明的类型进行关联。
        // cell():方法名称
        // cell:返回类型


func main(){
    // 关键字type可以用来声明新的类型
        // 例如:type celsius float64
    type celsius float64
    var temperature celsius = 20
    // 虽然celsius是一种全新的类型,但是由于它和float64具有相同的行为和表示,所以赋值操作能顺利执行。
    temperature += 20;
    fmt.Println(temperature)

    // 为什么需要声明新类型?因为这样能极大的提高代码的可读性和可靠性

    // 不同类型是无法混用的
    // var warmUp float64 = 10
    // temperature += warmUp  报错!
    // fmt.Println(temperature)

    // 通过方法添加行为
        // 1.在C++ Java中,方法属于类
        // 2.在go语言中,它提供了方法,但是没有提供类和对象
        // 3.go语言比其他语言的方法要灵活

    // 方法调用:变量.方法()
    var f floor = 294.0
    var c cell

    c = convertT(f)
    fmt.Println(c)
    
    c = f.cell()
    fmt.Println(c)
}

相关文章

  • go语言中的方法

    go支持OO语言的一些特性,方法就是其中之一。本文将介绍go语言中方法相关的概念。 方法声明 在go语言中,我们可...

  • TODO:Go语言goroutine和channel使用

    TODO:Go语言goroutine和channel使用 goroutine是Go语言中的轻量级线程实现,由Go语...

  • 14-Go方法和接口-指趣学院

    方法 Go语言中的方法其实就是一个特殊函数, 只不过这个函数是和某种属性类型绑定在一起的而已 Go语言中的方法一般...

  • 【Golang 基础】Go 语言的接口

    Go 语言中的接口   Go 语言中的接口就是方法签名的集合,接口只有声明,没有实现,没有数据字段。 只要某个类型...

  • Go语言指针

    Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。 接下来让我们来一步步学习 Go 语...

  • go语言中的方法

  • Go语言中拷贝文件的几种常用的方式及性能对比

    Go语言中拷贝文件的几种常用的方式 简介 本篇文章将介绍Go语言中,最最最常用的3种拷贝文件的方法,这三种方法各有...

  • Go的内存管理

    本文翻译自Memory Management in Go,介绍了Go语言中内存管理的相关概念。 所有的计算机程序语...

  • Go语言中重写String()方法

    Go语言中的String方法 在go中如果重写了String 方法,那在调用fmt.Println时就会自动去执行...

  • Go语言和C语言的交叉访问

    Go语言中导入C语言 方法 Go语言中导入C语言都需要单行注释和多行注释注释起来 在C语言紧随其后的位置编写" i...

网友评论

      本文标题:go语言中的方法

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