При программировании на Go не беспокойтесь об этом. Предположим, все будет заблокировано. Затем поместите его в программу, чтобы она все равно работала асинхронно.
Среда выполнения Go обрабатывает все детали.
Кроме того, проблема здесь , кажется, то, что вы хотите сделать. Проблема была отклонена: Go не делает этого. Как и С. И даже если это было сделано, это не надежно. Если вы дочитали до конца, есть предложения по настройке Linger TCP.