zoukankan      html  css  js  c++  java
  • go 接口

    隐式 接口

    接口类型是由一组方法定义的集合。

    接口类型的值可以存放实现这些方法的任何值。 

    类型通过实现那些方法来实现接口。 没有显式声明的必要;所以也就没有关键字“implements“。

    隐式接口解藕了实现接口的包和定义接口的包:互不依赖。

    package main

    import (
        "fmt"
        "math"
    )
    //定义接口
    type calc interface{
        Abs() float64
    }
    //定义结构Vertex
    type Vertex struct {
        X, Y float64
    }
    // Vertex实现Abs方法 接受者是指针 v *Vertex
    func (v *Vertex) Abs() float64 {
        return math.Sqrt(v.X*v.X + v.Y*v.Y)
    }
    //定义结构Person
    type Person struct{
        age int
    }
    // Person实现Abs方法 接受者是 值类型Person
    func (p Person) Abs() float64{
        return float64(p.age)
    }
    func main() {
        //v是指针
        v := &Vertex{3, 4}
        //p是值类型
        p:=Person{age:23}
        fmt.Println( v.Abs(),p.Abs())
    }

    保持进步
    希望每个人都能找到自己喜欢的方式生活、工作。

  • 相关阅读:
    搭建Keil C51开发环境
    源码分析之Handler
    Android中的算法
    Android中的数据结构
    高级UI-UI绘制流程
    高级UI-Path和PathMeasure
    高级UI-画板Canvas
    高级UI-滤镜和颜色通道
    高级UI-高级渲染
    高级UI-画笔Paint
  • 原文地址:https://www.cnblogs.com/songhuan999999/p/11193846.html
Copyright © 2011-2022 走看看