A Go interface to ZeroMQ version 3.

Go Report Card GoDoc

For ZeroMQ version 4, see: http://github.com/pebbe/zmq4

For ZeroMQ version 2, see: http://github.com/pebbe/zmq2

Including all examples of ØMQ – The Guide.

Keywords: zmq, zeromq, 0mq, networks, distributed computing, message passing, fanout, pubsub, pipeline, request-reply

See also

  • Mangos — An implementation in pure Go of the SP (“Scalable Protocols”) protocols
  • go-nanomsg — Language bindings for nanomsg in Go
  • goczmq — A Go interface to CZMQ


zmq3 is just a wrapper for the ZeroMQ library. It doesn’t include the library itself. So you need to have ZeroMQ installed, including its development files. On Linux and Darwin you can check this with ($ is the command prompt):

$ pkg-config --modversion libzmq

The Go compiler must be able to compile C code. You can check this with:

$ go env CGO_ENABLED

You can’t do cross-compilation. That would disable C.


go get github.com/pebbe/zmq3