所以我有一个结构type Book struct { Name string Author string}这是我使用这个结构时的代码func Add(obj string) { res, err := json.Marshal(obj) if err != nil { fmt.Println(err) } fmt.Println(string(res))}func main() { Open("./example.json") book := Book{"test", "me"} fmt.Println(reflect.TypeOf(book).String()) Add(book)}现在我想做的是在函数中传递该书对象或变量,Add当我尝试这样做时,它给了我一个错误。cannot use book (type Book) as type string in argument to Add那么如何解决它以及如何book在函数中将对象作为参数传递Add?
1 回答
杨魅力
TA贡献1811条经验 获得超6个赞
您的结构Book现在就像它自己的数据类型一样。如果您只想在函数中接受这种数据类型Add,则需要替换string为Book.
所以代码看起来像这样:
package main
import "encoding/json"
type Book struct {
Name string
Author string
}
func Add(obj Book) {
res, err := json.Marshal(obj)
if err != nil {
fmt.Println(err)
}
fmt.Println(string(res))
}
func main() {
Open("./example.json")
book := Book{"test", "me"}
fmt.Println(reflect.TypeOf(book).String())
Add(book)
}
- 1 回答
- 0 关注
- 114 浏览
添加回答
举报
0/150
提交
取消