Объявление типов в Go для примера приложения gonum - PullRequest
0 голосов
/ 06 мая 2018

Будучи страстным поклонником NumPy, я был рад обнаружить, что библиотека для golang находится в стадии разработки. Я написал небольшую тестовую программу, основанную на документации, которая выглядит следующим образом:

package main

import (

    "fmt"
    "math"
    "gonum.org/v1/gonum/stat"
)

func main() {

    xs := []float64 {

        23.32, 44.32, 100.12, 191.90,
        23.22, 90.21, 12.22, 191.21,
        1.21, 12.21, 34.23, 91.02,
    }

    variance := stat.Variance(xs)
    fmt.Printf("Data: %v\n", xs)

    stddev := math.Sqrt(variance)

    fmt.Printf("Standard deviation: %d\n\n", stddev)
}

Когда я пытался собрать программу, я заметил следующую ошибку компилятора:

C:\>go build hello.go
# command-line-arguments
.hello.go:19:30: not enough arguments in call to stat.Variance
        have ([]float64)
        want ([]float64, []float64)

Любой совет будет наиболее ценным.

Спасибо.

1 Ответ

0 голосов
/ 06 мая 2018

stat.Variance ожидает два параметра типа []float64 одинаковой длины:

func Variance(x, weights []float64) float64

Вам не хватает параметра weights. Вы можете передать nil как второй параметр функции stat.Variance, если хотите установить все веса случайных величин равными 1.

stat Документация к пакету

...