登录
首页 >  Golang >  Go问答

Golang - 生成具有一对多关系的地图

来源:stackoverflow

时间:2024-04-13 11:51:33 462浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《Golang - 生成具有一对多关系的地图》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我对 golang 相当陌生,我正在努力从现有地图生成一对多关系图。

这是我的脚本演示

说明:- 我试图实现第 0 个位置的每个元素与第 1、2、...n 个位置的每个元素的关系。

例如 - [0][0]=>[1][0], [0][0]=>[1][1], [0][1]=>[1][0 ], [0][1]=>[1][1], [0][0]=>[2][0], [0][1]=>[2][1]

我试图实现的最终输出 -

Array(
[0] => Array
    (
        [0] => Array
            (
                [room_rate_key] => 0|0
                [amount] => 5307.84
            )
        [1] => Array
            (
                [room_rate_key] => 0|0
                [amount] => 5307.84
            )
    )
[1] => Array
    (
        [0] => Array
            (
                [room_rate_key] => 0|0
                [amount] => 5307.84
            )
        [1] => Array
            (
                [room_rate_key] => 0|1
                [amount] => 5246.98
            )
    )
[2] => Array
    (
        [0] => Array
            (
                [room_rate_key] => 0|1
                [amount] => 5246.98
            )
        [1] => Array
            (
                [room_rate_key] => 0|0
                [amount] => 5307.84
            )
    )
[3] => Array
    (
        [0] => Array
            (
                [room_rate_key] => 0|1
                [amount] => 5246.98
            )
        [1] => Array
            (
                [room_rate_key] => 0|1
                [amount] => 5246.98
            )
    )
)

正确答案


使用具有两个值的结构作为映射的键

使用结构体作为键进行查找

package main

import "fmt"

type two struct {
    k1 int
    k2 int
}

func main() {
    v := make(map[two]two)

    v[two{1, 1}] = two{37, 38}
    v[two{0, 0}] = two{1, 1}

    fmt.Println(v)

}

以上就是《Golang - 生成具有一对多关系的地图》的详细内容,更多关于的资料请关注golang学习网公众号!

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