簡體   English   中英

使用結構傳遞多個值 GO

[英]Using a struct to pass multiple values 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) }

我希望我的函數返回參數是一個結構體初始化器!

你不能這樣做,這是不可能的。

您可以在 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}

游樂場

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM