打开 Golang 开发的百宝箱,更新中…

强烈推荐:

1. fmt

参见 fmt 包函数列表 - gopkg| Github

// Print/Sprint/Fprint
func index(w http.ResponseWriter, r *http.Request) {
    fmt.Println("Inside handler: index")
    name := fmt.Sprintf("%s", "abel")
    fmt.Fprintf(w, "Hello %s!\n", name)
}

2. strings

参见 2.1 strings — 字符串操作 | The-Golang-Standard-Library-by-Example

// 字符串分割
array := strings.Split(s, ",")

// 字符串清理
func stringsClean(value string) string {
    newReplacer := strings.NewReplacer("\n", " ","\t", " ")
    newValue := newReplacer.Replace(value)
    return strings.TrimSpace(newValue)
}

3. sort

// 数组排序
sort.Slice(prev, func(i, j int) bool {
    return prev[i] > prev[j]
})

4. ioutil

5. sync


例 1:读取整行输入

package main

import (
    "bufio"
    "fmt"
    "os"
    "strings"
)

func main() {
    r := bufio.NewReader(os.Stdin)

    line, _, err := r.ReadLine()
    if err != nil {
        fmt.Printf("error happend: %s\n", err)
    }

    s := string(line)
    s = strings.TrimFunc(s, func(r rune) bool {
        if r == '[' || r == ']' {
            return true
        }
        return false
    })
    fmt.Println(s)

    array := strings.Split(s, ", ")
    fmt.Println(array)
}


------
[1, 2, 3, 4, 5]

1, 2, 3, 4, 5
[1 2 3 4 5]

参考文章

  1. Go 上手指南 - 谢伟 | Github
  2. 对比学习:Golang VS Python3 | 知乎
  3. 浅谈 Go 语言实现原理 - Draveness | GitBook

1. 知乎专栏

推荐一个知乎专栏作者:谢伟,知乎专栏『Gopher』- Go 上手指南

其他不错的文章:

2. 51CTO

3. 标准库相关

4. Github 项目

5. 设计模式

6. 开发常用库