When GO111MODULE=off, the go get command simply clones the package from the master repository of the package and puts it inside $GOPATH/src. If GO111MODULE=on, then go get command puts the package code inside a separate directory and it supports versioning.
From Go 1.13, GO111MODULE is set to auto by default which means go get command inside GOPATH will act as if GO111MODULE=off and when it is invoked outside GOPATH, it will act as if GO111MODULE=on.
You can use GO111MODULE=on go get <package>@<version> command to set the GO111MODULE environment variable in the command execution.