Отладка go структуры данных первый день с использованием - PullRequest
0 голосов
/ 31 мая 2018

У меня есть eclipse software ready to go.

Я ищу отладочные выходные данные для вызова search.RetrieveFeeds().

Итак, по сути, я смогу увидеть массив структур Feed, чтобы я знал, что он обработал файл данных json

Когда я выполню это, я получу этоошибка:

main\main.go:10:38: multiple-value search.RetrieveFeeds() in single-value context

Я посмотрел здесь: Несколько значений в контексте с одним значением , но это было немного над моей головой.

Здесьэто то, что у меня есть в моей архитектуре:

Путь к файлу данных Json

src/data/data.json

Данные для файла Json

[
    {
        "site": "npr",
        "link": "http://www.npr.org/rss/rss.php?id=1001",
        "type": "rss"
    },
    {
        "site": "cnn",
        "link": "http://rss.cnn.com/rss/cnn_world.rss",
        "type": "rss"
    },
    {
        "site": "foxnews",
        "link": "http://feeds.foxnews.com/foxnews/world?format=xml",
        "type": "rss"
    },
    {
        "site": "nbcnews",
        "link": "http://feeds.nbcnews.com/feeds/topstories",
        "type": "rss"
    }
]

Путь к файлу основного метода

src/main/main.go

Код для основного метода

package main

import (
    "fmt"
    "search"
)

func main() {
     fmt.Println("HellAo")     
     var feeds = search.RetrieveFeeds()
     fmt.Printf("%v",feeds)
}

Путь к файлу поиска

src/search/feed.go

Поиск кода файла

package search

import (
  "encoding/json"
  "os"
)

const dataFile = "data/data.json"

type Feed struct {
    Name string `json:"site"`
    URI string `json:"link"`
    Type string `json:"type"`
}

func RetrieveFeeds() ([]*Feed, error){
    file, err := os.Open(dataFile)
    if err != nil {
        return nil, err
    }

    defer file.Close()

    var feeds []*Feed
    err = json.NewDecoder(file).Decode(&feeds)

    return feeds, err
}

ОБНОВЛЕНИЕ

Я изменилпуть к данным json:

const dataFile = "src/data/data.json"

И теперь дамп отладки говорит:

<nil>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...