[go] BUFFERED CHANNELS HELP

I have func request -do massrequests in cycle

//Basesarray[100000]
//client - http client
//A,C,D - params for func request

for i := range Basesarray 
{
	go request(A[i], client, Basesarray[i], C[i], D[i])
}

if I run code I get error -…too many open files

I try command

-ulimit 12000//for me not work

Also I found channel buffering as a -solution

***question - ***
******How can I create 1000 channels to the example so that my function runs in 1000 instances? What type of channel should I create and how to run in a loop? In general, I read a lot about channels, but until I understand how I should attach it here, and how and what to transfer to it, maybe someone has experience with channel buffering, please tell me?

closed