亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么不從 Cadence 活動傳遞私有成員?

為什么不從 Cadence 活動傳遞私有成員?

Go
至尊寶的傳說 2023-01-03 15:58:05
我注意到,當我使用由公共成員和私有成員組成的結構時,私有成員不會被 Cadence 活動復制(?)。例如我有一個結構:package footype Foo struct {    Name        string    PublicList  []string    privateList []string}func NewFoo() *Foo {    return &Foo{        Name:        "Test",        PublicList:  []string{"A", "B", "C"},        privateList: []string{"one", "two"},    }}func (f *Foo) ShowLists() {    fmt.Println("PublicList: ", f.PublicList, ", privateList: ", f.privateList)}我還使用其他結構,注冊為活動結構:package activities type FooActivities struct{}func (a *FooActivities) NewFoo(ctx context.Context) (*foo.Foo, error) {    return foo.NewFoo(), nil}func (a *FooActivities) ShowLists(ctx context.Context, f *foo.Foo) error {    f.ShowLists()    return nil}我的工作流程按以下方式調用這兩個活動:var f *foo.Fooworkflow.ExecuteActivity(ctx, fooActivities.NewFoo).Get(ctx, &f)workflow.ExecuteActivity(ctx, fooActivities.ShowLists, f).Get(ctx, nil)結果,按ShowLists功能打?。汗擦斜恚篬ABC],私人列表:[]為什么私有列表沒有按預期初始化?這是錯誤還是功能?我在 Cadence 文檔中找不到這個問題的答案。
查看完整描述

2 回答

?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

Cadence(和 Temporal)默認用于json.Marshal序列化和json.Unmarshall反序列化活動參數。它不會序列化私有字段。

這是一個可能的解決方法。


查看完整回答
反對 回復 2023-01-03
?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

我認為這是因為 reflect can't copy unexported field



查看完整回答
反對 回復 2023-01-03
  • 2 回答
  • 0 關注
  • 85 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號