duancan9815 2018-06-05 09:16
浏览 451
已采纳

如何在GoLang中创建多维键值数组/切片

I have a PHP script in which i'hv created some array formats (data structures) which i want to convert the same array structure using Golang.

Below is the array structure of my PHP script

   $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);

The outut of above script will be Array of key named SPF


[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
    )

As i am a new in golang , Need some golang code which will return same output as per PHP script

  • 写回答

1条回答 默认 最新

  • dsl2014 2018-06-05 13:16
    关注

    Hope below code will help you out. Make struct according to your JSON.

    package main

    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) 
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?