dream543211 2017-03-15 22:30
浏览 651

在go中导入struct,得到“ not a type”错误

I import a struct defined in another package, when try to use it to construct a literal, get a "not a type" error.

In publish.go

type Book struct {
    Name string
    Author string
    Published bool
}

In store.go

import "publish"

func Init() {
    var reading publish.Book

    b := &reading {
        Name: "Learn Go Lang",
        Author: "Rob",
        Published: true
    }
}

Error: reading is not a type

  • 写回答

1条回答 默认 最新

  • dougu5950 2017-03-15 22:34
    关注

    Here you try to make a struct of Type "reading"

    b := &reading {
           Name: "Learn Go Lang",
           Author: "Rob",
           Published: true
        }
    

    What you want is a struct of type publish.Book

    b := & publish.Book {
           Name: "Learn Go Lang",
           Author: "Rob",
           Published: true,
        }
    

    plus you also need a comma at the end of the last in a multi-line struct declaration.

    评论

报告相同问题?