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

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

  • 相关阅读:
    redis
    docker :no such file or directory
    删除Linux的用户
    lunux系统安全
    centos7.4yum错误
    POI2014 HOT-Hotels
    POI2009 KON-Ticket Inspector
    CF140E New Year Garland
    CF392B Tower of Hanoi
    落谷 P2401 不等数列
  • 原文地址:https://www.cnblogs.com/songhuan999999/p/11193846.html
Copyright © 2011-2022 走看看