I use Go in my Ubuntu 16.04, and I set GOPATH, GOROOT and run simple code successfully.
Now I want to capture network packet by \"gopacket\
Your environment variables are not set for your root user. Don't try to run sudo go run ..., instead build the binary without sudo, e.g. go build or go install, and then execute the binary with sudo.
Let's say you're in the folder of main.go, assumed it's called mycapt:
go build
sudo ./mycapt
Or:
go install
sudo $GOPATH/bin/mycapt