登录
首页 >  Golang >  Go问答

go-memdb 中的十进制数

来源:stackoverflow

时间:2024-02-14 16:15:13 331浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《go-memdb 中的十进制数》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我正在尝试使用 go-memdb 创建一个浮点列,但似乎我缺少足够的理解和文档来创建一个浮点列。大声呼救。 在下面的示例中,我需要“价格”为十进制数,但在当前形式中正在失去其精度。不确定要实施哪个索引器。

type Product struct {
    ID          string  `json:"id"`
    Name        string  `json:"name"`
    Description string  `json:"description"`
    Price       float32 `json:"price"`
    SKU         string  `json:"sku"`
    CreatedOn   string  `json:"-"`
    UpdatedOn   string  `json:"-"`
    DeletedOn   string  `json:"-"`
}

schema := &memdb.DBSchema{
        Tables: map[string]*memdb.TableSchema{
            "product": {
                Name: "product",
                Indexes: map[string]*memdb.IndexSchema{
                    "id": {
                        Name:         "id",
                        Unique:       true,
                        AllowMissing: false,
                        Indexer:      &memdb.StringFieldIndex{Field: "ID"},
                    },
                    "name": {
                        Name:    "name",
                        Indexer: &memdb.StringFieldIndex{Field: "Name"},
                    },
                    "description": {
                        Name:    "description",
                        Indexer: &memdb.StringFieldIndex{Field: "Description"},
                    },
                    "price": {
                        Name:    "price",
                        Indexer: &memdb.StringFieldIndex{Field: "Price"},
                    },
                    "sku": {
                        Name:    "sku",
                        Indexer: &memdb.StringFieldIndex{Field: "SKU"},
                    },
                    "createdon": {
                        Name:    "createdon",
                        Indexer: &memdb.StringFieldIndex{Field: "CreatedOn"},
                    },
                    "updatedon": {
                        Name:         "updatedon",
                        AllowMissing: true,
                        Indexer:      &memdb.StringFieldIndex{Field: "UpdatedOn"},
                    },
                    "deletedon": {
                        Name:         "deletedon",
                        AllowMissing: true,
                        Indexer:      &memdb.StringFieldIndex{Field: "DeletedOn"},
                    },
                },
            },
        },
    }

正确答案


go-memdb 包目前没有专用的浮点数索引。目前仅适用于整数。但该包公开了 Indexer 接口,以便任何人都可以实现类型的索引。通过检查 IntFieldIndex,您可以很好地了解需要完成的工作。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

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