所以我有一个结构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)}现在我想做的是在函数中传递该书对象或变量,当我尝试执行此操作时,它会给我一个错误。Addcannot use book (type Book) as type string in argument to Add那么我如何解决它,以及如何在函数中将对象作为参数传递?bookAdd
1 回答
慕田峪4524236
TA贡献1875条经验 获得超5个赞
您的结构现在就像它自己的数据类型一样。如果只想在函数中接受此类数据类型,则需要替换为 。BookAddstringBook
因此,代码将如下所示:
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 关注
- 141 浏览
添加回答
举报
0/150
提交
取消