The spec for function of method signature allows for parameters to use an IdentifierList
for one type:
ParameterDecl = [ IdentifierList ] [ "..." ] Type .
-
name, description
is the identifier list.
-
string
is the type which applies to that list.
You have the same feature for variable declaration:
var U, V, W float64
All three variables have the same type float64
.
Note: a more recent version of the goamz source code shows that same method with a different parameter: see commit 04a8dd3
func (ec2 *EC2) CreateSecurityGroup(group SecurityGroup)
(resp *CreateSecurityGroupResp, err error) {...
with:
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 is typical when the number of potential parameters grows: you wrap them in a struct.
It is used in this test:
resp, err :=
s.ec2.CreateSecurityGroup(ec2.SecurityGroup{Name: "websrv",
Description: "Web Servers"})