Having the go extension in VScode, benchmarking a method is a matter of clicking on [run benchmark]
and immediately you have the output of it in a vscode console followed by the command that ran plus the output:
Running tool: /usr/local/bin/go test -benchmem -run=^$ github.com/zyxan/benchmarks -bench ^BenchmarkRandomStringGeneration2$
goos: darwin
goarch: amd64
pkg: github.com/zyxan/benchmarks
BenchmarkRandomStringGeneration2-4 10000000 147 ns/op 80 B/op 3 allocs/op
PASS
ok github.com/zyxan/benchmarks 1.654s
Success: Benchmarks passed.
Now if I want to reproduce such command on my terminal I literally just copy it
/usr/local/bin/go test -benchmem -run=^$ github.com/zyxan/benchmarks -bench ^BenchmarkRandomStringGeneration2$
Paste it on my terminal session results in the following output:
❯ /usr/local/bin/go test -benchmem -run=^$ github.com/zyxan/benchmarks -bench ^BenchmarkRandomStringGeneration2$
zsh: no matches found: -run=^$
Why is that discrepancy caused?