arrays - 如何在 Go 语言中创建多维键值数组/slice

标签 arrays go multidimensional-array go-gin

<分区>

我有一个 PHP 脚本,我在其中创建了一些数组格式(数据结构),我想使用 Golang 转换相同的数组结构。

下面是我的PHP脚本的数组结构

   $response['spf']['current_value']  = $spfValue; // this will  be the array of strings
   $response['spf']['required_value'] = "v=spf1 a include:32782.pppp.com ~all";            
   $response['spf']['is_verified']    = $isValidSpf; //this will be int
   $response['spf']['spf_matched']    = $isMatched;  //this will be int
   print_r($response);

上述脚本的输出将是名为 SPF 的 key 的 Array

[spf] => Array ( [current_value] => Array ( [0] => v=spf1 a -all, ) [required_value] => v=spf1 a include:32782.pppp.com ~all [is_verified] => 0 [spf_matched] => 0 )

因为我是 golang 的新手,需要一些 golang 代码来返回与 PHP 脚本相同的输出

最佳答案

希望下面的代码能帮到你。根据您的 JSON 制作结构。

主要包

import (
    "encoding/json"
    "fmt"
)   

type Resp struct {
    Spf Param `json:"spf"`
}   

type Param struct {
    Is_verified    int            `json:"is_verified"`
    Spf_matched    int            `json:"spf_matched"`
    Required_value string         `json:"required_value"`
    Current_value  map[int]string `json:"current_value"`
}   

func main() {

    str := make(map[int]string)

    str[0] = "v=spf1 a -all,"
    resp := Resp{Spf: Param{Is_verified: 0, Spf_matched: 0, Required_value: "v=spf1 a  include:32782.pppp.com ~all", Current_value: str}}
    js, _ := json.Marshal(resp)
    fmt.Printf("%s", js) 
}

关于arrays - 如何在 Go 语言中创建多维键值数组/slice ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50696418/

相关文章:

java - 尝试打印二维数组(矩阵)时出错

javascript - 无法从数组 Vuex 中删除项目

javascript - 根据 GPS 位置之间的距离过滤对象数组(javascript)

java - 使用 Java 8 流以函数式方式生成数组的连续总和

arrays - 如何在go中反转任意数组?

algorithm - 从N个元素的 slice 生成K个元素的算法

c - 指向 C 中二维数组中的数组

c - 动态二维数组如何存储在内存中?

go - echo框架,在哪一刻降级权限?

arrays - 在Powershell中创建多维哈希表数组