Go基础:接口相关

//  interface相关



package main

import (  "fmt"  "math" )

// 接口,定义了method

// 该接口类型的值必须实现里面定义的method

type Abser interface{  Abs() float64 }

type MyFloat float64

type Vertex struct{  X, Y float64 }

//  MyFloat实现Abs方法

func (f MyFloat) Abs() float64 {

if f < 0{   return float64(-f)   }  return float64(f) }

//  *Vertex 实现Abs方法

func (v *Vertex)  Abs() float64

{  return math.Sqrt(v.X*v.X + v.Y*v.Y)

}

func describe(i interface{})

{  fmt.Printf("%v, %T\n",i ,i) }

func main()

{  var a, b Abser

f := MyFloat(-math.Sqrt2)

fmt.Println("======f=", f)

v := Vertex{3,4}

a = f  fmt.Println("======a.Abs=", a.Abs())

b = &v  fmt.Println("======b.Abs=", b.Abs())



// 空的接口, 没有制定要实现的方法,可以接受任何类型

var emptyInterface  interface{}

describe(emptyInterface)

emptyInterface =  12

describe(emptyInterface)

emptyInterface = "wolfan"

describe(emptyInterface)

}

时间: 2024-07-31 21:27:48

Go基础:接口相关的相关文章

.net微信公众号开发——基础接口

本文讲述微信公众号开发中基础接口的使用,包括以下内容:    (1)获取许可令牌(AccessToken):    (2)获取微信服务器地址:    (3)上传.下载多媒体文件:    (4)创建.显示二维码:    (5)长链接转短链接.    开源项目地址:http://git.oschina.net/xrwang2/xrwang.weixin.PublicAccount    本文的源代码地址:http://git.oschina.net/xrwang2/xrwang.weixin.Pub

java接口相关例题

java接口相关习题 interface Graphics{  //接口里面只能用抽象方法  public abstract double area();    }//设置 平面类class PlaneGraphics1{    private String shape; //形状    //构造方法,有参数    public PlaneGraphics1(String shape)    {        this.shape=shape;    }    //无参数    public P

1.基础知识相关好帖(持续更新)

这一篇主要把在我查阅资料和学习的过程中搜到的,基础知识相关的比较好的文档整理汇总,主要是方便自己好找. 1..NET Framework.C#语言.IDE.CLR 版本历史及其差异(最新) .NET Framework版本(.NET Framework包括CTS和CLR) 2.IIS Application Pool 应用程序池

MMORPG大型游戏设计与开发(服务器 AI 基础接口)

一个模块都往往需要统一的接口支持,特别是对于非常大型的模块,基础结构的统一性非常重要,它往往决定了其扩展对象的通用性.昨天说了AI的基本概述以及组成,作为与场景模块中核心一样重要的地位,基础部分的设计尽量的统一.详细.通用.精简. 游戏截图 基础接口(base) 1.管理方法 初始化(init).释放(release).获得NPC队伍指针(get npc team).内部逻辑循环函数(activate). 2.状态方法(ing) 休闲(idle).闲逛(wander).巡逻(partol).警戒

PHP 面向对对象基础(接口,类)

介绍PHP面向对象的基础知识 1. 接口的定义interface ,类定义class,类支持abstract和final修饰符,abstract修饰为抽象类,抽象类 不支持直接实例化,final修饰的类/方法不能被继承/方法重写.2. 接口的实现通过implements,类继承extends interface IShape{ function draw_core(); }; class PathShape implements IShape{ public function draw_core

与接口相关的设计模式(2):代理模式、标识类型模式及常量接口模式

在上文与接口相关的设计模式(1)中,详细介绍了定制服务模式和适配器模式,下面我们来看第三种与接口相关的模式:代理模式. 代理模式 定义:为对象提供一种代理,以控制对这个对象的访问. 分类: 远程代理(Remote Proxy)-为不同地理的对象提供局域网代表对象.(类似于客户端和服务器端) 虚拟代理(Virtual Proxy)-根据需要将资源消耗很大的对象进行延迟,真正需要的时候才进行创建.(网页中图片的加载,先用一张虚拟的图片进行显示,等图片加载完成后再进行显示) 保护代理(Protect

微信公众号接口相关操作

<?php /** * 微信公众号接口相关操作 */ class WeChat { private $_appid; private $_appsecret; private $_token; public function __construct($_appid,$_appsecret,$_token) { $this->_appid=$_appid; $this->_appsecret=$_appsecret; $this->_token=$_token; } //获得微信通信

php获取微信基础接口凭证Access_token

php获取微信基础接口凭证Access_token的具体代码,供大家参考,具体内容如下 access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效. 使用AppID和AppSecret调用本接口来获取access_token.AppID和AppSecret可在微信公众平台官网-开发者中心页中获得. 1. 构造一个请求函数

face_recognition 基础接口

face_recognition 基础接口 face_recognition使用世界上最简单的人脸识别库,在Python或命令行中识别和操作人脸. 使用dlib最先进的人脸识别技术构建而成,并具有深度学习功能. 该模型在 Labeled Faces in the Wild 基准中的准确率为99.38%. face_recognition 官方文档 :https://pypi.org/project/face_recognition/ 查找图片中的面孔 # 导入face_recognition模块