Use net.ListenUnix to create a listener on a Unix domain socket path, then accept connections with Accept.
package main
import (
"fmt"
"net"
)
func main() {
listener, err := net.ListenUnix("unix", &net.UnixAddr{Net: "unix", Name: "/tmp/my.sock"})
if err != nil {
panic(err)
}
defer listener.Close()
conn, err := listener.AcceptUnix()
if err != nil {
panic(err)
}
defer conn.Close()
fmt.Println("Connected")
}