user3435964
user3435964

Reputation: 949

In golang what is the type of name in ec2.CreateSecurityGroup

I am using CreateSecurityGroup func in golang using goamz. Below is the function signature:

func (ec2 *EC2) CreateSecurityGroup(name, description string) (resp *CreateSecurityGroupResp, err error)

What type does the argument name have in this argument list?

Upvotes: 2

Views: 91

Answers (1)

VonC
VonC

Reputation: 1326706

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"})

Upvotes: 3

Related Questions