登录
首页 >  Golang >  Go问答

编写自定义解组器来运用于 AWS ION

来源:stackoverflow

时间:2024-02-07 15:33:23 406浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《编写自定义解组器来运用于 AWS ION》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

我正在使用 amazon ion 来编组和解编从各种 aws 服务接收的数据。

我需要编写一个自定义解组函数,我在 amazon ion 的官方文档中找到了如何实现此功能的示例,请参阅此处

使用上面的示例,我编写了以下代码:

package main

import (
    "bytes"
    "fmt"

    "github.com/amzn/ion-go/ion"
)

func main() {
    UnmarshalCustomMarshaler()
}

type unmarshalMe struct {
    Name   string
    custom bool
}

func (u *unmarshalMe) UnmarshalIon(r ion.Reader) error {
    fmt.Print("UnmarshalIon called")
    u.custom = true
    return nil
}

func UnmarshalCustomMarshaler() {
    ionBinary, err := ion.MarshalBinary(unmarshalMe{
        Name: "John Doe",
    })
    if err != nil {
        fmt.Println("Error marshalling ion binary: ", err)
        panic(err)
    }

    dec := ion.NewReader(bytes.NewReader(ionBinary))
    var decodedResult unmarshalMe

    ion.UnmarshalFrom(dec, &decodedResult)
    fmt.Println("Decoded result: ", decodedResult)
}

问题:以上代码无法按预期工作。 unmarshalion 函数未被调用,但根据文档应该被调用。我做错了什么?


正确答案


您可能使用的是 v1.1.3,默认情况下不包含该功能。

本篇关于《编写自定义解组器来运用于 AWS ION》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>