golang 学习笔记之字符串
2019-06-18 21:50
1336 查看
golang 中字符串相关操作用得最多的基础库是 strings 和 strconv
1、strings.HasPrefix 判断字符串开头
常见的场景是用来判断服务地址是HTTP还是HTTPS 协议,例如:
func main() { str := "http://www.baidu.com" if ok := strings.HasPrefix(str,"http://");ok { fmt.Println("it's http protocol") }else{ fmt.Println("unknown") } }
2、strings.HasSuffix 判断字符串后缀
场景,用于判断文件类型,例如图片是否是png格式
func main() { pic := "baidu.png" if ok := strings.HasSuffix(pic,"png");ok { fmt.Println("it's a png image.") } }
3、strings.Contains 判断字符串中是否包含有子字符串
func main() { str := "http://www.baidu.com" if ok := strings.Contains(str,"baidu");ok{ fmt.Println("ok") } }
4、strings.Count 计算子字符串出现次数
func main() { str := "http://www.baidu.com/" fmt.Println(strings.Count(str,"/")) }
5、strings.Index 返回子字符串第一次出现位置,不存在则返回-1
对应的是strings.LastIndex ,返回最后一次出现位置,不存在返回-1
func main() { str := "http://www.baidu.com/" fmt.Println(strings.Index(str,"google")) fmt.Println(strings.Index(str,"/")) fmt.Println(strings.LastIndex(str,"google")) fmt.Println(strings.LastIndex(str,"/")) }
输出
-1 5 -1 20
6、strings.Title 返回首字母大写的标题格式
fmt.Println(strings.Title("welcome to baidu"))
输出
Welcome To Baidu
7、大小写转换
strings.ToUpper 转换成大写
strings.ToLower 转换成小写
fmt.Println(strings.ToLower("GOPHER")) fmt.Println(strings.ToUpper("gopher"))
输出
gopher GOPHER
8、strings.Repeat 返回count个s串联的字符串
fmt.Println("http://" + strings.Repeat("w",3) + ".baidu.com")
输出
http://www.baidu.com
9、strings.Replace 字符串替换
当n<0 时,将替换所有字符串
fmt.Println(strings.Replace(str,"/","#",1)) fmt.Println(strings.Replace(str,"/","#",-1))
输出
http:#/www.baidu.com/ http:##www.baidu.com#
10、strings.Trim 去掉前后空白符
类似的还有strings.TrimLeft 、strings.TrimRight
fmt.Println(strings.Trim(" http://www.baidu.com "," "))
11、strings.Split 字符串分隔
str := "http://www.baidu.com/" fmt.Println(strings.Split(str,"/"))
输出
[http: www.baidu.com ]
12、strings.Join 字符串组合
s := []string{"www","baidu","com"} fmt.Println(strings.Join(s,"."))
输出
www.baidu.com
13、字符串与整型数字互转
strconv.Itoa 整型转字符串
strconv.Atoi 字符串转整型,注意这个函数会返回int 和 err
func Atoi(s string) (i int, err error) n := 123 fmt.Printf("n type:%T\n strconv.Itoa(n) Type: %T\n",n,strconv.Itoa(n)) m := "456" m2,_ := strconv.Atoi(m) fmt.Printf("n type:%T\n strconv.Atoi(m) Type: %T\n",n,m2)
输出
n type:int strconv.Itoa(n) Type: string n type:int strconv.Atoi(m) Type: int
相关文章推荐
- golang学习笔记――――字符串
- .NET/Dot Net学习笔记---.net理解,C#.net的基本类型,字符串转义字符处理..
- python学习笔记3(字符串)
- 【Golang学习笔记】02
- 0714学习笔记list常用操作索引(index)和切片(slice) 字符串的方法分割split和连接join
- Python核心编程--学习笔记--6--序列(上)字符串
- 算法第4版(谢路云译)学习笔记(3) -- 字符串连接操作的时间复杂度
- 学习笔记之C#parm、命名空间、字符串处理
- 字符串学习笔记
- R语言学习笔记:字符串处理
- Java字符串学习笔记
- 【转】shell学习笔记(三)——引用变量、内部变量、条件测试、字符串比较、整数比较等
- Accelerated C++学习笔记2—<使用字符串>
- 【C++学习笔记】10_C风格字符串
- 【Qt学习笔记】6.Qt中的字符、字符串
- JAVA学习笔记(6)字符串
- Python学习笔记 - 5.字符串(find方法,格式操作符%)
- PHP学习笔记:字符串
- Data Analysis学习笔记 --- Python数据清洗对字符串处理
- python学习笔记:字符串