如何在结构初始化器中使用指针类型?

I cannot figure out how to initialize structure field when it is a reference type alias of the one of the number types:

package main

import (
  "fmt"
  "encoding/json"
)

type Nint64 *int64

type MyStruct struct {
   Value Nint64
}

func main() {
  data, _ := json.Marshal(&MyStruct{ Value : ?? 10 ?? })
  fmt.Println(string(data))
}

You can't, you will have to add an extra step playground:

func NewMyStruct(i int64) *MyStruct {
    return &MyStruct{&i}
}

func main() {
    i := int64(10)
    data, _ := json.Marshal(&MyStruct{Value: Nint64(&i)})
    fmt.Println(string(data))
    //or this
    data, _ = json.Marshal(NewMyStruct(20))
    fmt.Println(string(data))
}

I don't think you want to reference to the address of an int64 ...

package main

import (
    "encoding/json"
    "fmt"
)

type Nint64 int64

type MyStruct struct {
    Value Nint64
}

func main() {
    data, _ := json.Marshal(&MyStruct{Value: Nint64(10)})

    fmt.Println(string(data))
}

http://play.golang.org/p/xafMLb_c73