q is a better way to do print statement debugging.
Type q.Q
instead of fmt.Printf
and your variables will be printed like this:
fmt.Printf
?$TMPDIR/q
.import "github.com/y0ssar1an/q"
...
q.Q(a, b, c)
For best results, dedicate a terminal to tailing $TMPDIR/q
while you work.
GO111MODULE=off go get github.com/y0ssar1an/q
Put these functions in your shell config. Typing qq
or rmqq
will then start
tailing $TMPDIR/q
.
qq() {
clear
logpath="$TMPDIR/q"
if [[ -z "$TMPDIR" ]]; then
logpath="/tmp/q"
fi
if [[ ! -f "$logpath" ]]; then
echo 'Q LOG' > "$logpath"
fi
tail -100f -- "$logpath"
}
rmqq() {
logpath="$TMPDIR/q"
if [[ -z "$TMPDIR" ]]; then
logpath="/tmp/q"
fi
if [[ -f "$logpath" ]]; then
rm "$logpath"
fi
qq
}
You also can simply tail -f $TMPDIR/q
, but it's highly recommended to use the above commands.
If you add a symbolic link to the package via
ln -s $GOPATH/src/github.com/y0ssar1an/q/ $GOPATH/src/q
you can import the package via
import (
"q"
)
Preferences > User Snippets > Go
"qq": {
"prefix": "qq",
"body": "q.Q($1) // DEBUG",
"description": "Pretty-print to $TMPDIR/q"
}
Tools > Developer > New Snippet
<snippet>
<content><![CDATA[
q.Q($1) // DEBUG
]]></content>
<tabTrigger>qq</tabTrigger>
<scope>source.go</scope>
</snippet>
Atom > Open Your Snippets
'.source.go':
'qq':
'prefix': 'qq'
'body': 'q.Q($1) // DEBUG'
Settings > Editor > Live Templates
In Go
, add a new template with:
qq
Pretty-print to $TMPDIR/q
q.Q($END$) // DEBUG
Go
scopeAdd a new snippet file to the go-mode snippets directory
($HOME/.emacs.d/snippets/go-mode/qq
). This should
contain:
# -*- mode: snippet -*-
# name: qq
# key: qq
# --
q.Q(${1:...}) // DEBUG
TBD Send me a PR, please :)
Python programmers will recognize this as a Golang port of the
q
module by zestyping.
Ping does a great job of explaining q
in his awesome lightning talk from
PyCon 2013. Watch it! It's funny :)
q.Q
?It's quick to type and unlikely to cause naming collisions.
q.Q()
safe for concurrent use?Yes.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。