打开 Golang 开发的百宝箱,更新中…
强烈推荐:
1. fmt
// 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
- golang 中读写文件的几种方式 | CSDN
- Go 语言学习之 ioutil 包 (The way to go) | CSDN
- Go 语言学习之 os 包中文件相关的操作 (The way to go) | CSDN
5. sync
6. encoding/xml
例 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. 知乎专栏
推荐一个知乎专栏作者:谢伟,知乎专栏『Gopher』- Go 上手指南
- Go 内置库第一季:strings - 谢伟 | 知乎
- Go 内置库第一季:strconv - 谢伟 | 知乎
- Go 内置库第一季:reflect - 谢伟 | 知乎
- Go 内置库第一季:json - 谢伟 | 知乎
- Go 内置库第一季:error - 谢伟 | 知乎
- Go 内置库第一季:time - 谢伟 | 知乎
- Go 内置库第一季:net/url - 谢伟 | 知乎
- 请教:FieldsFunc 函数的用法 | Golang 中国
- 【Go语言】基本类型排序和 slice 排序 | iTimeTraveler
其他不错的文章:
- Go Web 教程 - 谢伟 | 知乎
- Go GraphQL 教程 - 谢伟 | 知乎
- Go 与 Error 的前世今生 - 谢伟 | 知乎
- 自己构建节假日 API - 谢伟 | 知乎
- 打造一款 emoji 表情库 - 谢伟 | 知乎
- 写给程序员看的“幻灯片”制作教程 - 谢伟 | 知乎
2. 51CTO
- Go 语言开发学习教程 - 天山老妖S | 51CTO
- Go 语言常用标准库一 - 天山老妖S | 51CTO
- Go 语言常用标准库二 - 天山老妖S | 51CTO
- Go 语言常用标准库三 - 天山老妖S | 51CTO
- Go 语言常用标准库四 - 天山老妖S | 51CTO
- Go 语言常用标准库五 - 天山老妖S | 51CTO
- Go 语言常用标准库六 - 天山老妖S | 51CTO
- Go 语言 MySQL 数据库操作 - 天山老妖S | 51CTO
- Go 语言 database/sql 接口 - 天山老妖S | 51CTO
3. 标准库相关
- 《Go语言标准库》The Golang Standard Library by Example | GitBook
- The-Golang-Standard-Library-by-Example - Golang 标准库 | Github
- gopkg - astaxie | Github
- Golang 常用包 | 胡伟煌
- Go 常用标准包介绍 - Mr_buffoon | CSDN
- Go 语言标准库概览 | Tony Bai
4. Github 项目
- cos-storager - Go 开发的免费图床 | Github
- learning_tools - Go 实用工具类 | Github
- gocui - Minimalist Go package aimed at creating Console User Interfaces | Github
- lazyredis - 基于 gocui 实现的 redis 命令行客户端 | Github