文档章节

GO字符串相关函数

汤汤圆圆
 汤汤圆圆
发布于 2018/09/18 17:50
字数 625
阅读 2
收藏 0
Go
package main

import (
	"fmt"
	"strings"
	"strconv"
)

func main () {
	str := "hello老美" //中文占三个字节
	fmt.Println("str的长度为len=", len(str)) //长度为11

	for i := 0; i < len(str); i++ {
		fmt.Printf("字符=%c\n", str[i]) //中文会乱码
	}

	rstr := []rune(str) //变成一个rune切片就可以解决中文
	fmt.Println("rstr的长度为len=", len(rstr)) //长度为7
	for i := 0; i < len(rstr); i++ {
		fmt.Printf("字符=%c\n", rstr[i]) //中文正常显示
	}

	//字符串转整数
	nstr,err := strconv.Atoi("123")
	fmt.Printf("nstr=%v,err=%v\n", nstr, err)

	//可以检验一个字符串是否为数字
	nstr2,err2 := strconv.Atoi("abc")
	if nil != err2 {
		fmt.Printf("转换失败 %v\n", err2)
	} else {
		fmt.Printf("转换成功 %v\n", nstr2)
	}

	//整数转字符串
	atostr := strconv.Itoa(12345)
	fmt.Printf("nstr=%v,err=%T\n", atostr, atostr) //12345 string

	//字符串转[]byte(string) ascii码
	by := []byte("hello,abc")
	fmt.Println("byte=", by); //每个字符的ascii码

	//[]byte{11,12,13} 转字符串 string([]byte{11,12})
	bystr := string([]byte{104,101,108,108,111,44,97,98,99})
	fmt.Println("bystr=", bystr);//hello,abc

	//十进制转换成指定进制(2,8,16)
	num2 := strconv.FormatInt(123, 2) //转成2进制
	fmt.Println("num2=", num2);

	num8 := strconv.FormatInt(123, 8) //转成8进制
	fmt.Println("num2=", num8);

	//判断一个字符串是否在另外一个字符串中出现
	b := strings.Contains("abczxxxxxx", "y")//返回bool型
	fmt.Println("b=", b);

	//一个字符串在另外一个字符串中出现得次数
	ct := strings.Count("wahaha", "ha")
	fmt.Println("ct=", ct);

	//判断两个字符串是否相等 == 区分大小写,使用strings.EqualFold()不区分
	se := "abc" == "Abc"
	sen := strings.EqualFold("abc", "Abc")
	fmt.Println("se=", se); //false
	fmt.Println("sen=", sen); //true

	//字符串在某一字符串中首次出现得位置 -1 是不存在
	index := strings.Index("wahaha", "h") //2
	index_1 := strings.Index("wahaha", "z") //-1
	fmt.Println("index=", index); //false
	fmt.Println("index_1=",index_1); //true

	//最后出现得位置 -1不存在
	lastIndex := strings.LastIndex("wahaha", "ha")
	fmt.Println("lastIndex=", lastIndex); //4 

	//字符串替换
	originstr := "wahaha"
	newstr := strings.Replace(originstr, "ha", "wa", 1) // 1是替换一个,2替换两个, -1 替换所有
	fmt.Println("newstr=", newstr); //wawaha
	
	//把一个字符串切割成数组
	arrstr := "ni,hen,niu,b"
	arr := strings.Split(arrstr, ",")
	for i := 0; i < len(arr); i++ {
		fmt.Println(arr[i])
	}
	fmt.Printf("arr=%v,类型%T\n", arr, arr); //wawaha

	//字符串转换大小写
	fmt.Println(strings.ToUpper("abc")) //ABC
	fmt.Println(strings.ToLower("AbC")) //abc

	//去掉字符串左右空格
	fmt.Printf("%q\n", strings.TrimSpace("  xyz   ")); //"xyz" %q 加上了""

	//指定去掉左右两边的某个字符 TrimLeft,TrimRight 去掉左或者右边
	fmt.Println(strings.Trim("!!wahah!ahahah!!", "!")) //wahah!ahahah 中间的不会去掉

	//是否以某个字符串开头(HasPrefix);或者结尾(HasSuffix)
	fmt.Println(strings.HasPrefix("http://www.wahaha.com", "http")) //true
	fmt.Println(strings.HasSuffix("http://www.wahaha.com/test.avi", "avi")) //true
}

© 著作权归作者所有

上一篇: GO 时间相关函数
下一篇: go基本语法
汤汤圆圆

汤汤圆圆

粉丝 11
博文 82
码字总数 26104
作品 0
昌平
程序员
私信 提问
Python常用函数汇总(数据结构、文件类)

Python提供了大量处理各类数据结构(字符串、列表、元组、字典)及文件类(包括文件夹)的函数,为我们进行相关操作提供了极大的便利。 先对上述部分常用的函数进行汇总。但需要说明的是,我...

一石匠人
2018/08/22
0
0
Python容器:列表、元组、字典、集合

文章目录 序言 此文章针对有一定基础的人,简明扼要的介绍字符串、列表、元组、字典、集合的概念和常用操作,以备复习巩固之用。 底层的基本数据类型:布尔型,整形,浮点型以及字符串类型。...

Eric Leee
2018/12/09
0
0
PHP字符串转义、编码等函数整理

和MySQL相关的 (1) addslashes():对SQL语句中的某些字符加上左斜线(),这些字符是'(单引号),"(双引号), (左斜线),NUL(NULL字符)。需要注意的是,默认地,PHP指令magicquoteson=on,它会对...

Macnode
2012/04/28
846
0
PHP 部分函数

PHP ucwords() 实例 把每个单词的首字符转换为大写: <?phpecho ucwords("hello world");?> 定义和用法 ucwords() 函数把字符串中每个单词的首字符转换为大写。 注释:该函数是二进制安全的。...

BearCatYN
2015/12/31
24
0
五:MySQL中的函数 - 系统的撸一遍MySQL

MySQL中提供了很多操作函数,包含了字符串相关,数值相关、日期相关等。 字符串函数 函数名 作用 CANCAT(S1,S2,...Sn) 连接 S1,S2,...Sn 为一个字符串 INSERT(str,x,y,instr) 将字符串 str ...

logbird
2016/08/20
42
0

没有更多内容

加载失败,请刷新页面

加载更多

Navicat 快捷键

操作 结果 ctrl+q 打开查询窗口 ctrl+/ 注释sql语句 ctrl+shift +/ 解除注释 ctrl+r 运行查询窗口的sql语句 ctrl+shift+r 只运行选中的sql语句 F6 打开一个mysql命令行窗口 ctrl+l 删除一行 ...

低至一折起
今天
6
0
PyTorch入门笔记一

张量 引入pytorch,生成一个随机的5x3张量 >>> from __future__ import print_function>>> import torch>>> x = torch.rand(5, 3)>>> print(x)tensor([[0.5555, 0.7301, 0.5655],......

仪山湖
今天
5
0
OSChina 周二乱弹 —— 开发语言和语言开发的能一样么

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌:#今日歌曲推荐# 分享The Score的单曲《Revolution》 《Revolution》- The Score 手机党少年们想听歌,请使劲儿戳(这里) @批判派...

小小编辑
今天
2.7K
19
oracle ORA-39700: database must be opened with UPGRADE option

ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option 进程 ID: 3650 会话 ID: 29......

Tank_shu
今天
3
0
分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部