Issue : Importing the same dataset with JSON upload will work but not with Go SDK

Hello, I’m trying to import my dataset with the go SDK.
This is my code (the rncps variable is a slice of struct) :

client := search.NewClient(os.Getenv("ALGOLIA_APP_ID"), os.Getenv("ALGOLIA_ADMIN_KEY"))
index := client.InitIndex(os.Getenv("ALGOLIA_INDEX"))
res, err := index.SaveObjects(rncps, opt.AutoGenerateObjectIDIfNotExist(true))
if err != nil {
	return err
}

And i get this error :

could not send intermediate batch: Algolia API error [400] body of batch should be an object and not an array near line:1 column:43

Here is the raw json beginning of my dataset :

[{"id":"RNCP30000","title":"Titre ingénieur - Ingénieur diplômé de l'Institut  national des sciences appliquées de Toulouse (INSAT), spécialité génie physique","blocks":[],"active":false}...

So the 43th character is theoretically the space between “ingénieur” and the “-”
But if I export this dataset to json with :

j, err := json.Marshal(rncps)
if err != nil {
	return err
}
ioutil.WriteFile("data.json", j, 0777)

And then upload it to Algolia GUI, everything works correctly.
Is there something I’m missing in my code ?