// In our case, we don't care what type is sent to
//the channel, we just want to signal we are done
// and closing the channel works perfectly!
// a chan struct{} is the smallest data type available
// from a memory perspective
funcping(urlstring)chanstruct{}{
// Notice how we have to use make when creating a channel; rather than say var ch chan struct{}. When you use var the variable will be initialised with the "zero" value of the type. So for string it is "", int it is 0, etc.
// For channels the zero value is nil and if you try and send to it with <- it will block forever because you cannot send to nil channels