为了账号安全,请及时绑定邮箱和手机立即绑定

使用结构传递多个值 GO

使用结构传递多个值 GO

Go
不负相思意 2021-10-18 15:19:57
我只有一个问题我在这里写了一个例子package mainimport (  "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) }我希望我的函数返回参数是一个结构体初始值设定项!
查看完整描述

2 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

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


查看完整回答
反对 回复 2021-10-18
?
偶然的你

TA贡献1841条经验 获得超3个赞

您可以在 struct Pack 上创建一个方法,该方法将初始化值。例如:


package main


import "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}


查看完整回答
反对 回复 2021-10-18
  • 2 回答
  • 0 关注
  • 153 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信