使用结构传递多个值 GO

我只有一个问题我在这里写了一个例子


package main


import (

  "fmt"

)

type PACK struct {

  d, r int

}


func main() {


  st := &PACK{}

  st.d, st.r = f(12, 32)

}


func f(a, b int) (d int, r int) {

  d = a / b

  r = a ^ b

  return

}

所以,问题是 - 我怎么能做这样的事情


st := &PACK{ f(1,2) }

我希望我的函数返回参数是一个结构体初始值设定项!


不负相思意
浏览 154回答 2
2回答

慕哥9229398

你不能这样做,这是不可能的。

偶然的你

您可以在 struct Pack 上创建一个方法,该方法将初始化值。例如:package mainimport "fmt"type Pack struct {    d, r int}func (p *Pack) init (a, b int) {    p.d = a / b    p.r = a ^ b}func main() {    pack := Pack{}   // d and r are initialized to 0 here    pack.init(10, 4)    fmt.Println(pack)}结果:{2 14}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go