在serverHTTP中出错而在我的代码中出错,为什么?

时间:2015-01-24 01:16:43

标签: interface go

第一个代码:http://play.golang.org/p/OEDetydMbW

第二个代码:http://play.golang.org/p/QZIrWALAm_

有人可以解释一下为什么我没有在第一段代码上收到错误,我期待错误地说明missing CreateTable method

1 个答案:

答案 0 :(得分:1)

使用方法Abc指定接口CreateTable,但您的变量实际上都不是接口类型Abc 这个稍微修改过的版本会带来您所寻求的错误: http://play.golang.org/p/ETdexzPYaM

package main

import "log"

// Abc asdlkfjaslf as
type Abc interface {
    CreateTable(a, b)
}

type a int
type b int

// Def klajsdlfkjaslfd
type Def int

// // CreateTable laksjdfljasfdl
// func (d *Def) CreateTable() {
//  log.Println("inside Def CreateTable....")
// }

func main() {
    var m1 Abc = Def(5)
    log.Println("inside main %d", m1)
}