Git Product home page Git Product logo

sublime-gosnippets's Introduction

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)}
}

sublime-gosnippets's People

Contributors

ccirello avatar nooproblem avatar ucirello avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.