Есть некоторые проблемы с вашей инициализацией:
Пример решения:
type Book struct {
Price *float32 `json:"price"`
Title *string `json:"title"`
Author *string `json:"author"`
}
func main() {
bookTitle := "Book1"
// I can't do this
book := &Book{
Title: &bookTitle,
}
}
Другой подход для решения проблема в том, чтобы создать Constructor
:
type Book struct {
Price *float32 `json:"price"`
Title *string `json:"title"`
Author *string `json:"author"`
}
func (b *Book) Book(title string){
b.Title = &title
}
func main() {
var book Book
fmt.Printf("%+v\n", book)
book.Book("Book1")
fmt.Printf("%+v\n", book)
}
Результат будет примерно таким:
{Price:<nil> Title:<nil> Author:<nil>}
{Price:<nil> Title:0xc00003e1f0 Author:<nil>}