code: func lookupAddrs(svc *compute.Service, project, zone, tag string) ([]string, error) {
  	var addrs []string
  	f := func(page *compute.InstanceList) error {
  		for _, v := range page.Items {
  			if len(v.NetworkInterfaces) == 0 || v.NetworkInterfaces[0].NetworkIP == "" {
  				continue
  			}
  			for _, t := range v.Tags.Items {
  				if t == tag {
  					addrs = append(addrs, v.NetworkInterfaces[0].NetworkIP)
  					break
  				}
  			}
  		}
  		return nil
  	}
  
  	call := svc.Instances.List(project, zone)
  	if err := call.Pages(oauth2.NoContext, f); err != nil {
  		return nil, err
  	}
  	return addrs, nil
  }
docs: // lookupAddrs retrieves the private ip addresses of all instances in a given
  // project and zone which have a matching tag value.