相当于Golang中的package.json

I am coming over to Go from Node.js and I am used to adding all my modules and then people just have to go npm install when cloning my package.

What is the equivalent of this with Go? I have a few imports and don't want people to have to manually install it if they use my package.

I also not sure if I create a simple Go application with just a package main if that allows people to just go get. I have really picked up on the Go way of repo sharing like Node.js

Basically you should take a look at vendoring. There exist tools that help you with versioning. Personally, I use vendetta which is just a little tool that "go gets" the referenced packages as git submodules into the vendor folder. So if anyone checks out my repo they simply do git submodule update --init --recursive. The package version can be specified as a git commit id in the respective submodule.

There also exist tools where you maintain the deps in a file, check out here.

What is the equivalent of this with Go? I have a few imports and don't want people to have to manually install it if they use my package.

You don't have to do anything. People will not have to manually install the packages you import. When someone does

go get github.com/FrickeFresh/awesome

all of the dependencies you import in your awesome package will be downloaded automatically as needed.

Go get skips testing files by default, but a user can download those too by including -t:

go get -t github.com/FrickeFresh/awesome

But that's not something you need to worry about.

If you want to delve into vendoring specific versions of dependencies, there are a number of articles/tools available. The official tool is dep:

https://github.com/golang/dep