summaryrefslogtreecommitdiff
path: root/snippets/go.snippets
diff options
context:
space:
mode:
authorVito G. Graffagnino <vito@graffagnino.xyz>2022-08-28 12:24:01 +0100
committerVito G. Graffagnino <vito@graffagnino.xyz>2022-08-28 12:24:01 +0100
commit823302458ec6c53455a3f34674415c43ce6a3187 (patch)
tree92168b44b01f5b2236b7cdf331e227c4790431ee /snippets/go.snippets
parent9ea6111717518625cbd28a020493ec06610ff01e (diff)
Added snippets directory
Diffstat (limited to 'snippets/go.snippets')
-rw-r--r--snippets/go.snippets280
1 files changed, 280 insertions, 0 deletions
diff --git a/snippets/go.snippets b/snippets/go.snippets
new file mode 100644
index 0000000..722e82f
--- /dev/null
+++ b/snippets/go.snippets
@@ -0,0 +1,280 @@
+snippet v "shorthand variable declaration"
+ ${1} := ${2}
+
+snippet vr "variable initialization"
+ var ${1:t} ${0:string}
+
+snippet var "variable declaration"
+ var ${1} ${2} = ${3}
+
+snippet vars "variables declaration"
+ var (
+ ${1} ${2} = ${3}
+ )
+
+snippet ap "append"
+ append(${1:slice}, ${0:value})
+
+snippet bl "bool"
+ bool
+
+snippet bt "byte"
+ byte
+
+snippet br "break"
+ break
+
+snippet ch "channel"
+ chan ${0:int}
+
+snippet cs "case"
+ case ${1:value}:
+ ${0:${VISUAL}}
+
+snippet co "constants with iota"
+ const (
+ ${1:NAME1} = iota
+ ${0:NAME2}
+ )
+
+snippet cn "continue"
+ continue
+
+snippet df "defer"
+ defer ${0:func}()
+
+snippet dfr "defer recover"
+ defer func() {
+ if err := recover(); err != nil {
+ ${0:${VISUAL}}
+ }
+ }()
+
+snippet im "import"
+ import (
+ "${1:package}"
+ )
+
+snippet in "interface"
+ interface{}
+
+snippet inf "full interface "
+ interface ${1:name} {
+ ${2:/* methods */}
+ }
+
+snippet if "if condition"
+ if ${1:/* condition */} {
+ ${2:${VISUAL}}
+ }
+
+
+snippet ife "if else condition"
+ if ${1:/* condition */} {
+ ${2:${VISUAL}}
+ } else {
+ ${0}
+ }
+
+snippet el "else"
+ else {
+ ${0:${VISUAL}}
+ }
+
+snippet ir "if error not nil, return err"
+ if err != nil {
+ return err
+ }
+ ${0}
+
+snippet f "false"
+ false
+
+snippet ft "fallthrough"
+ fallthrough
+
+snippet fl "float"
+ float32
+
+snippet f3 "float32"
+ float32
+
+snippet f6 "float64"
+ float64
+
+snippet for "for loop"
+ for ${1}{
+ ${0:${VISUAL}}
+ }
+
+snippet fori "for int loop"
+ for ${2:i} := 0; $2 < ${1:count}; $2${3:++} {
+ ${0:${VISUAL}}
+ }
+
+snippet forr "for range loop"
+ for ${1:e} := range ${2:collection} {
+ ${0:${VISUAL}}
+ }
+
+snippet fun "function"
+ func ${1:funcName}(${2}) ${3:error} {
+ ${4}
+ }
+ ${0}
+
+snippet fum "method"
+ func (${1:receiver} ${2:type}) ${3:funcName}(${4}) ${5:error} {
+ ${6}
+ }
+ ${0}
+
+snippet fumh "http handler function on receiver"
+ func (${1:receiver} ${2:type}) ${3:funcName}(${4:w} http.ResponseWriter, ${5:r} *http.Request) {
+ ${0:${VISUAL}}
+ }
+
+snippet lf "log printf"
+ log.Printf("%${1:s}", ${2:var})
+
+snippet lp "log println"
+ log.Println("${1}")
+
+snippet mk "make"
+ make(${1:[]string}, ${0:0})
+
+snippet mp "map"
+ map[${1:string}]${0:int}
+
+snippet main "func main()"
+ func main() {
+ ${1}
+ }
+ ${0}
+
+snippet nw "new"
+ new(${0:type})
+
+snippet pa "package"
+ package ${1:main}
+
+snippet pn "panic"
+ panic("${0:msg}")
+
+snippet pf "fmt.Printf()"
+ fmt.Printf("%${1:s}\n", ${2:var})
+
+snippet pl "fmt.Println()"
+ fmt.Println("${1:s}")
+
+snippet rn "range"
+ range ${0}
+
+snippet rt "return"
+ return ${0}
+
+snippet rs "result"
+ result
+
+snippet sl "select"
+ select {
+ case ${1:v1} := <-${2:chan1}
+ ${3}
+ default:
+ ${0}
+ }
+
+snippet sr "string"
+ string
+
+snippet st "struct"
+ struct ${1:name} {
+ ${2:/* data */}
+ }
+ ${0}
+
+snippet sw "switch"
+ switch ${1:var} {
+ case ${2:value1}:
+ ${3}
+ case ${4:value2}:
+ ${5}
+ default:
+ ${0}
+ }
+
+snippet ps "fmt.Sprintf"
+ fmt.Sprintf("%${1:s}", ${2:var})
+
+snippet t "true"
+ true
+
+snippet g "goroutine named function"
+ go ${1:funcName}(${0})
+
+snippet ga "goroutine anonymous function"
+ go func(${1} ${2:type}) {
+ ${3:/* code */}
+ }(${0})
+
+snippet test "test function"
+ func Test${1:name}(t *testing.T) {
+ ${0:${VISUAL}}
+ }
+
+snippet testt "table test function"
+ func Test${1:name}(t *testing.T) {
+ tests := []struct {
+ name string
+ }{
+ {
+ name: "${2:test name}",
+ },
+ }
+
+ for _, test := range tests {
+ t.Run(test.name, func(t *testing.T) {
+ ${0:${VISUAL}}
+ })
+ }
+ }
+
+snippet bench "benchmark function"
+ func Benchmark${1:name}(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ ${2}
+ }
+ }
+ ${0}
+
+snippet cl "composite literals"
+ type ${1:name} struct {
+ ${2:attrName} ${3:attrType}
+ }
+
+snippet om "if key in a map"
+ if ${1:value}, ok := ${2:map}[${3:key}]; ok == true {
+ ${4:/* code */}
+ }
+
+
+snippet gg "Grouped globals with anonymous struct"
+ var ${1:var} = struct{
+ ${2:name} ${3:type}
+ }{
+ $2: ${4:value},
+ }
+
+
+snippet ja "Marshalable json alias"
+ type ${1:parentType}Alias $1
+
+ func (p *$1) MarshalJSON() ([]byte, error) {
+ return json.Marshal(&struct{ *$1Alias }{(*$1Alias)(p)})
+ }
+
+
+snippet errwr "Error handling with fmt.Errorf"
+ if ${1}err != nil {
+ return fmt.Errorf("${2} %w", err)
+ }