Imagine you want to start an HTTP server without specifying the port. For example, a temporary server for testing. How do you do that?
The answer is straightforward. Specify the port number to 0 like:
l, err := net.Listen("tcp", ":0")
It’s an easy rule provided by the net package, but do you understand how Go binds a random port allocation. I’ll give you a clear understanding of what Go does inside the net package.
The presentation contains the following topics.
net, net/http packages
File descriptor
TCP, UDP
System calls
I think this presentation will give audiences not only a knowledge of Go, but also one of system calls.