@@ -174,7 +174,11 @@ func Service(
174174}
175175
176176func getPlacementPreference (preferences []composetypes.PlacementPreferences ) []swarm.PlacementPreference {
177- result := []swarm.PlacementPreference {}
177+ if len (preferences ) == 0 {
178+ return nil
179+ }
180+
181+ result := make ([]swarm.PlacementPreference , 0 , len (preferences ))
178182 for _ , preference := range preferences {
179183 spreadDescriptor := preference .Spread
180184 result = append (result , swarm.PlacementPreference {
@@ -198,7 +202,7 @@ func convertServiceNetworks(
198202 }
199203 }
200204
201- nets := []swarm.NetworkAttachmentConfig {}
205+ nets := make ( []swarm.NetworkAttachmentConfig , 0 , len ( networks ))
202206 for networkName , nw := range networks {
203207 networkConfig , ok := networkConfigs [networkName ]
204208 if ! ok && networkName != defaultNetwork {
@@ -241,15 +245,15 @@ func convertServiceSecrets(
241245 secrets []composetypes.ServiceSecretConfig ,
242246 secretSpecs map [string ]composetypes.SecretConfig ,
243247) ([]* swarm.SecretReference , error ) {
244- refs := []* swarm.SecretReference {}
245-
246248 lookup := func (key string ) (composetypes.FileObjectConfig , error ) {
247249 secretSpec , exists := secretSpecs [key ]
248250 if ! exists {
249251 return composetypes.FileObjectConfig {}, fmt .Errorf ("undefined secret %q" , key )
250252 }
251253 return composetypes .FileObjectConfig (secretSpec ), nil
252254 }
255+
256+ refs := make ([]* swarm.SecretReference , 0 , len (secrets ))
253257 for _ , secret := range secrets {
254258 obj , err := convertFileObject (namespace , composetypes .FileReferenceConfig (secret ), lookup )
255259 if err != nil {
@@ -564,7 +568,7 @@ func convertResources(source composetypes.Resources) (*swarm.ResourceRequirement
564568}
565569
566570func convertEndpointSpec (endpointMode string , source []composetypes.ServicePortConfig ) * swarm.EndpointSpec {
567- portConfigs := []swarm.PortConfig {}
571+ portConfigs := make ( []swarm.PortConfig , 0 , len ( source ))
568572 for _ , port := range source {
569573 portConfig := swarm.PortConfig {
570574 Protocol : network .IPProtocol (port .Protocol ),
0 commit comments