Skip to content

aprofromindia/sublime-gosnippets

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Snippets of Go code for Sublime Text

csv.Read:

r := csv.NewReader(strings.NewReader(${1:in}))

for {
	record, err := r.Read()
	if err == io.EOF {
		break
	}
	if err != nil {
		log.Fatal(err)
	}

	${2:fmt.Println(record)}
}

csv.Write:

w := csv.NewWriter(${1:os.Stdout})

for _, record := range records {
	if err := w.Write(record); err != nil {
		log.Fatalln("error writing record to csv:", err)
	}
}

w.Flush()

if err := w.Error(); err != nil {
	log.Fatal(err)
}

http.Basic:

func handler${1:route}(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintf(w, "...")
}

func main() {
	http.HandleFunc("/${1:route}", handler${1:route})
	http.HandleFunc("/", http.NotFound)
	http.ListenAndServe(":8080", nil)
}

http.Get:

resp, err := http.Get("${1:http://example.com/}")
if err != nil {
	${2:log.Fatal(err)}
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
	${3:log.Fatal(err)}
}
${4:// code...}

http.Route:

func handler${1:route}(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintf(w, "...")
}

func init() {
	http.HandleFunc("/${1:route}", handler${1:route})
}

ioutil.NopCloser:

${1:rc} := ioutil.NopCloser(${2:r})

ioutil.ReadAll:

${1:b}, err := ioutil.ReadAll(${2:r})
if err != nil {
	${3:log.Fatal(err)}
}

ioutil.ReadDir:

${1:files}, err := ioutil.ReadDir(${2:dir})
if err != nil {
	${3:log.Fatal(err)}
}

ioutil.ReadFile:

${1:b}, err := ioutil.ReadFile(${2:file})
if err != nil {
	${3:log.Fatal(err)}
}

ioutil.TempDir:

${1:tmpname}, err := ioutil.TempDir(${2:dir}, ${3:prefix})
if err != nil {
	${4:log.Fatal(err)}
}

ioutil.TempFile:

${1:f}, err := ioutil.TempFile(${2:dir}, ${3:prefix})
if err != nil {
	${4:log.Fatal(err)}
}

ioutil.WriteFile:

if err := ioutil.WriteFile(${1:filename}, ${2:data}, ${3:perm}); err != nil {
	${4:log.Fatal(err)}
}

json.Marshal:

b, err := json.Marshal(${1:data})
if err != nil {
	log.Fatal(err)
}

json.NewDecoder:

var ${1:data} ${2:interface{}}
if err := json.NewDecoder(${3:r}).Decode(&${1:data}); err != nil {
	${4:log.Fatal(err)}
}

json.NewEncoder:

var ${1:data} ${2:interface{}}
if err := json.NewEncoder(${3:w}).Encode(&${1:data}); err != nil {
	${4:log.Fatal(err)}
}

json.Unmarshal:

var ${2:dst} ${3:map[string]string}
if err := json.Unmarshal(${1:jsonBlob}, &${2:dst}); err != nil {
	log.Fatal(err)
}

strconv.Atoi:

${1:i}, err := strconv.Atoi(${2:str})
if err != nil {
	log.Fatal(err)
}

strconv.ParseBool:

${1:v}, err := strconv.ParseBool(${2:str})
if err != nil {
	log.Fatal(err)
}

strconv.ParseFloat:

${1:f64}, err := strconv.ParseFloat(${2:str}, ${3:64})
if err != nil {
	log.Fatal(err)
}

strconv.ParseInt:

${1:i64}, err := strconv.ParseInt(${2:str}, ${3:10}, ${4:64})
if err != nil {
	log.Fatal(err)
}

strconv.ParseUint:

${1:u64}, err := strconv.ParseUint(${2:str}, ${3:10}, ${4:64})
if err != nil {
	log.Fatal(err)
}

tabwriter:

w := new(tabwriter.Writer)

// Format in tab-separated columns with a tab stop of 8.
w.Init(${1:os.Stdout}, ${2:0}, ${3:8}, ${4:0}, ${5:'\t'}, ${6:0})
fmt.Fprintln(w, "${7:...\t...}")
fmt.Fprintln(w)

if err := w.Flush(); err != nil {
	log.Fatal(err)
}

time.After:

select {
case <-time.After(${1:5 * time.Minute}):
	${2:fmt.Println("timed out")}
${3:case m := <-c:
	handle(m)
}
}

time.Date:

${1:t} := time.Date(${2:2009}, time.${3:November}, ${4:10}, ${5:23}, ${6:0}, ${7:0}, ${8:0}, ${9:time.UTC})

time.Parse:

${1:t}, err := time.Parse(${2:`Mon Jan 2 15:04:05 -0700 MST 2006`}, ${3:str})
if err != nil {
	log.Fatal(err)
}

time.ParseDuration:

${1:d}, err := time.ParseDuration(${2:str})
if err != nil {
	log.Fatal(err)
}

time.Tick:

${1:c} := time.Tick(${2:1 * time.Minute})
for now := range ${1:c} {
	${3:fmt.Printf("%v\n", now)}
}

About

Snippets of Go code for Sublime Text

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%