MongoDB Atlas as external (headless) service

I have 3 Mongo shards on Atlas like this (Golang code):

mongo := []string{"my-dev-shard-00-00-h2u7b.mongodb.net:27017", "my-dev-shard-00-01-h2u7b.mongodb.net:27017", "my-dev-shard-00-02-h2u7b.mongodb.net:27017"}

and I connect something like this:

opts := options.Client()
opts.SetConnectTimeout(10 * time.Second).SetHosts(mongo)

I would like to replace this with headless service having endpoints like in the mongo slice. Is this going to work? When I configure my Go service with this, shall I pass this external service three times so that I get all three instances in? I mean these endpoints are returned in round-robin fashion, so if I get 3 of them in a sequence, I should actually get 3 unique ones, right?