【问题标题】:Erroring in serverHTTP but not in my code, why?serverHTTP 出错但我的代码中没有,为什么?
【发布时间】:2015-01-24 01:16:42
【问题描述】:

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

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

有人能解释一下为什么我在第一个代码上没有收到错误,我原以为会出错,说明 missing CreateTable method

【问题讨论】:

  • 以后,请在您的帖子中包含所有相关代码,并且不要仅包含指向代码托管站点的链接。您的帖子应该独立于任何其他资源;考虑一下如果 play.golang.org 将来宕机会发生什么。
  • 第一个代码没有错误,因为没有使用接口 Abc。
  • @NathanTuggy 我从其他帖子中了解到,由于 play.golang.org 存在,所以不要在此处粘贴代码并使其复杂化。无论如何,我没有任何问题可以放在这里。
  • @KishoreVaishnav 告诉你这与正确和乐于助人完全相反。 Always 将代码的相关部分直接放在您的问题中。 (是的,那是网站版主在链接中说的。)

标签: interface go


【解决方案1】:

您使用方法CreateTable 指定了一个接口Abc,但您的变量实际上都不是接口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)
}

【讨论】:

    猜你喜欢
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 2016-09-18
    • 2022-01-23
    • 1970-01-01
    相关资源
    最近更新 更多