Преобразование типа в массив - синтаксис GO - PullRequest
0 голосов
/ 28 марта 2019

В приведенном ниже синтаксисе_1,

 array := [...]float64{7.0, 8.5, 9.1}

и синтаксис_2,

type People interface {
    SayHello()
    ToString()
}

type Student struct {
    Person
    university string
    course string
}

type Developer struct {
    Person
    company string
    platform string
}


func main(){

    alex := Student{Person{"alex", 21, "111-222-XXX"}, "MIT","BS CS"}
    john := Developer{Person{"John", 35, "111-222-XXX"}, "Accel North America", "Golang"}
    jithesh := Developer{Person{"Jithesh", 33, "111-222-XXX"}, "Accel North America", "Hadoop"}
    //An array with People types    
    peopleArr := [...]People{alex, john,jithesh}
}

1) Что означает этот синтаксис float64{7.0, 8.5, 9.1} & People{alex, john,jithesh}? это выглядит как парадигма (способ программирования) больше, чем синтаксис

2) Можете ли вы дать ссылку на значение / цель синтаксиса [...]? Я вижу преобразование чего-то в [] тип

1 Ответ

0 голосов
/ 28 марта 2019

Squiggly скобки используются для определения составного литерала. Значение, которое содержит более одного значения внутри него. В вашем первом примере создан массив значений с плавающей точкой [...]float64{7.0, 8.5, 9.1} - литерал для массива чисел с 3 элементами. Во втором примере создается несколько литералов для предопределенных типов структуры и другой массив. Person{"alex", 21, "111-222-XXX"} является литералом для структуры типа Person. И [...]People{alex, john,jithesh} - это массив типа People, содержащий 3 элемента.

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