duananyu9231 2014-08-14 10:27
浏览 15
已采纳

用值初始化结构定义中的变量

How I can initialize a property in the struct with a value. Look at code snippet, I try like this.

package main

import (
    "fmt"
    "github.com/dchest/uniuri"
)

type mail struct {
    url, email string
    uri string = uniuri.NewLen(20)
}


func main() {


}

But I've got compiler error.

.\assign_default_struct.go:10: syntax error: unexpected =, expecting }

Is there a way, to initialize variable in the struct with a value?

  • 写回答

1条回答 默认 最新

  • duanmei1885 2014-08-14 10:44
    关注

    The best way to do this would be to make a constructor as such:

    package main
    
    import (
        "fmt"
        "github.com/dchest/uniuri"
    )
    
    type mail struct {
        url, email string
        uri string
    }
    
    
    func NewMail(url, email string) mail {
        uri := uniuri.NewLen(20)
        return mail{url, email, uri}
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?