Good idea -- done! The goimports way is a bit more advanced and featureful
too.

I love how all these little tools are basically just wrappers around a
library package which does all the work, so you can reuse them in your own
code.

-Ben

On Sun, Nov 25, 2018 at 8:53 AM Sameer Ajmani <sam...@golang.org> wrote:

> Instead of writing your own logic to resolve missing imports, could you
> run the goimports tool? It will automatically select imports from the
> standard library and GOPATH.
>
> S
>
> On Sat, Nov 24, 2018 at 5:06 PM Ben Hoyt <benh...@gmail.com> wrote:
>
>> I just finished a little tool called "gosnip" that allows you to run
>> little snippets of Go code from the command line:
>>
>> https://github.com/benhoyt/gosnip
>>
>> To use it, just type something like:
>>
>>     $ gosnip 'fmt.Println("Hello world")'
>>     Hello world
>>
>> gosnip automatically adds (standard library) imports, rolls into into a
>> complete program, and uses "go run" to run it.
>>
>> To quote the "Why?" section in the README: I made gosnip because when
>> coding in Go I often want to try little snippets of code to see what they
>> do, for example, "how does format string %6.3f work again?" I could use the
>> Go playground, but it's nice to be able to use a one-line command. Also, I
>> often develop while offline on my bus commute, so don't have access to the
>> online Go playground (yes, I know it's possible to run the Go playground
>> locally).
>>
>> It was very handy to have go/parser available in the standard library,
>> and even nicer that it automatically provides the list of unresolved names
>> -- which I use to know what to import.
>>
>> "go run" isn't particularly fast for this use case, as it spawns the go
>> compiler, linker, and then the program itself. Seems to take about 250ms on
>> my macOS machine (and it's probably slower on Windows, as os/exec is
>> somewhat slower on Windows).
>>
>> If anyone knows a better way to run Go source, let me know. As much as I
>> like writing interpreters, it'd be a big job to write a Go compiler just
>> for this. In the meantime, 250ms will have to do.
>>
>> Feedback welcome!
>>
>> -Ben
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "golang-nuts" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to golang-nuts+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to