Dunaevlad
@Dunaevlad

Как правильно передать указатель на переменную?

func checkBet(body []byte, v *struct) {
	if v.ValuingData.Data.OwAvg > 3.4 {
           // do something
        }
}

// The main function -> start app
func main() {
	// get value bets
	var body = doValueBets()
	// get bet status
	var response structs.Forks
	json.Unmarshal(body, &response)

	// do iteration
	for _, v := range response {
		pointer := &v
		// choose necessary params(income, ow_avg e.t.c)
		checkBet(body, pointer)
	}
}


Сейчас выдает ошибку mixed named and unnamed parameters
  • Вопрос задан
  • 175 просмотров
Решения вопроса 1
Вместо того, чтобы объявлять

type Forks []struct {
  ForkID           string      `json:"fork_id"`
  Income           float64     `json:"income"`
  Sport            string      `json:"sport"`
...............
  AliveSec         int         `json:"alive_sec"`
  ValuingData      ValuingData `json:"valuing_data"`
}


Вам нужно объявить тип элемента и тип массива разными типами
type Fork struct {
  ForkID           string      `json:"fork_id"`
  Income           float64     `json:"income"`
  Sport            string      `json:"sport"`
...............
  AliveSec         int         `json:"alive_sec"`
  ValuingData      ValuingData `json:"valuing_data"`
}

type Forks []Fork


Тогда сможете сделать так:
func checkBet(body []byte, v *Fork) {
......
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы