2014-10-21 1 views

ответ

3

Спецификация для function of method signature позволяет параметры использовать IdentifierList for one type:

ParameterDecl = [ IdentifierList ] [ "..." ] Type . 
  • name, description список идентификаторов.
  • string - тип, который относится к этому списку.

У вас есть те же функции для variable declaration:

var U, V, W float64 

Все три переменные имеют одинаковый тип float64.


Примечание: более поздняя версия исходного goamz кода показывает тот же самый метод, с другим параметром: см commit 04a8dd3

func (ec2 *EC2) CreateSecurityGroup(group SecurityGroup) 
    (resp *CreateSecurityGroupResp, err error) {... 

с:

type SecurityGroup struct { 
    Id string `xml:"groupId"` + Id string `xml:"groupId"` 
    Name string `xml:"groupName"` + Name string `xml:"groupName"` 
    Description string `xml:"groupDescription"` 
    VpcId string `xml:"vpcId"` 
} 

Это типично, когда число потенциальных параметров растет: вы обертываете их в структуру.

Он используется в this test:

resp, err := 
    s.ec2.CreateSecurityGroup(ec2.SecurityGroup{Name: "websrv", 
               Description: "Web Servers"}) 
+0

Это дает контекст вопроса. Я не был уверен, что спрашивал ОП. Обновит вопрос +1 –