首页 > 其他分享 >15、string

15、string

时间:2023-05-02 14:33:49浏览次数:38  
标签:15 string fmt s5 字符串 Println strings

1.string是什么?

Go中的字符串是一个字节的切片,可以通过将其内容封装起在""中来创建字符串。Go中的的字符串是Unicode兼容的并且是UTF-8编码的。

2.string的使用

/**
 * @author ly (个人博客:https://www.cnblogs.com/qbbit)
 * @date 2023/5/2  11:32
 * @tags 喜欢就去努力的争取
 */
package main

import "fmt"

func main() {

	// 定义字符串
	var s1 string = "hello"
	var s2 string = `hello 世界` // 一个中文三个字节

	println(s1)
	println(s2)

	// 字符串的长度:也就是字节的个数
	fmt.Println(len(s1))
	fmt.Println(len(s2))

	// 获取某个字节
	fmt.Println(s1[0])
	fmt.Println(s2[0])
	a := 'h'
	b := 104

	fmt.Printf("%c,%c,%c,%c\n", s1[0], s2[0], a, b)

	// 遍历字符串
	for i, v := range s2 {
		fmt.Printf("%d,%c\t", i, v)
	}
	println("================================")
	for i := 0; i < len(s2); i++ {
		fmt.Printf("%d,%c \t", i, s2[i])
	}
	println("=====================")
	// 字节转字符串
	slice1 := []byte{65, 66, 67, 68, 69}
	s3 := string(slice1)
	fmt.Println(s3)

	// 字符串转字节
	s4 := "ABCDE"
	slice2 := []byte(s4)
	fmt.Println(slice2)
	
	// 字符串是不允许修改的
	// s4[0] = 'L'
}

3.strings:字符串的常用函数

s5 := `hello world`

	// 判断指定的字符串是否存在
	b1 := strings.Contains(s5, "hel")
	fmt.Println("b1:", b1)

	// 判断指定的字符串任意一个字符是否存在
	b2 := strings.ContainsAny(s5, "abc")
	fmt.Println("b2:", b2)

	// 统计指定的字符串出现的个数
	count := strings.Count(s5, "wo")
	fmt.Println("count:", count)

	// 判断字符串是否以指定的字符串开头
	prefix := strings.HasPrefix(s5, "ld")
	fmt.Println("prefix:", prefix)

	// 判断字符串是否以指定的字符串结尾
	suffix := strings.HasSuffix(s5, "he")
	fmt.Println("suffix:", suffix)

	// 获取指定字符串首次出现的索引位置
	index := strings.Index(s5, "l")
	fmt.Println("index:", index)

	// 获取指定字符串最后一次出现的索引位置
	lastIndex := strings.LastIndex(s5, "o")
	fmt.Println("lastIndex:", lastIndex)

	// 字符串拼接
	sArr := []string{"he", "llo", "wo", "rld"}
	join := strings.Join(sArr, "-")
	fmt.Println(join)

	// 字符串切割
	s6 := "123abcABC你好中国"
	split := strings.Split(s6, "")
	for _, v := range split {
		fmt.Println(v)
	}

	// 将指定的字符串重复拼接n次
	repeat := strings.Repeat("hello", 5)
	fmt.Println(repeat)

	// 替换;n:指定替换的字符个数,-1全替换
	replace := strings.Replace(s5, "l", "*", 1)
	replace2 := strings.Replace(s5, "l", "*", -1)
	fmt.Println(replace)
	fmt.Println(replace2)

	// 大小写转换
	lower := strings.ToLower(s5)
	upper := strings.ToUpper(s5)
	fmt.Println(lower)
	fmt.Println(upper)

	/**
	截取子字符串 类似Java语言中的substring
	*/
	s9 := "我是中国人"
	subStr := s9[6:]
	fmt.Println(subStr)

标签:15,string,fmt,s5,字符串,Println,strings
From: https://www.cnblogs.com/qbbit/p/17367652.html

相关文章

  • [ABC151E] Max-Min Sums
    2023-03-11题目题目传送门翻译翻译难度&重要性(1~10):5题目来源AtCoder题目算法数学解题思路对于一个正数\(x,x\inA\)一定会有\(C_{n}^{i}\)次是作为集合中最大的元素,其中\(i\)表示比\(x\)小的数的个数,也一定会有\(C_{n}^{j}\)次是作为集合中最小的元素,其中......
  • [ABC150F] Xor Shift
    2023-03-10题目题目传送门翻译翻译难度&重要性(1~10):6题目来源AtCoder题目算法KMP,Z函数解题思路首先是按位确定,令\(t(i,j)\)表示AA序列向右移动\(j\)位后异或某一个数能否等于\(B\)序列,则如果所有\(t(i,q)\\(i\in[1,30])\)都是\(1\),移动\(q\)位才是......
  • [ABC150E] Change a Little Bit
    2023-03-10题目题目传送门翻译翻译难度&重要性(1~10):7题目来源AtCoder题目算法数学,贪心解题思路显然\(C_i\)越小的位越早被修改越好。所以我们将\(C_i\)从小到大排序。对于任意的\(S\),答案都是一样的。我们依次考虑\(S\)和\(T\)的每一位是否相同。设我们考......
  • P3592 [POI2015] MYJ
    题目描述有\(n\)家洗车店从左往右排成一排,每家店都有一个正整数价格\(p_i\)。有\(m\)个人要来消费,第\(i\)个人会驶过第\(a_i\)个开始一直到第\(b_i\)个洗车店,且会选择这些店中最便宜的一个进行一次消费。但是如果这个最便宜的价格大于\(c_i\),那么这个人就不洗车了。......
  • 7-006-(LeetCode- 152) 乘积最大子数组
    1.题目读题 考查点 2.解法思路 代码逻辑 具体实现113.总结......
  • 7-015-(LeetCode- 42) 接雨水
    1.题目读题 考查点 2.解法思路 代码逻辑 具体实现113.总结......
  • PMP-15-初识项目管理的过程
    一、过程是为了完成一系列预先指定的产品服务或成果而需要执行的相互联系的行动和活动。二、每个过程都有输入和输出,并且过程贯穿了项目管理的全生命周期。三、项目管理中有5大过程组,分别是启动、规划、执行、监控、收尾,这5大过程组构成了项目管理的主要工作。四、在项目管理过......
  • 在EditText中插入表情图片 (CharacterStyle&SpannableString)
    EditText通常用于显示文字,但有时候也需要在文字中夹杂一些图片,比如QQ中就可以使用表情图片,又比如需要的文字高亮显示等等,如何在android中也做到这样呢?记得android中有个android.text包,这里提供了对文本的强大的处理功能。添加图片主要用SpannableString和......
  • ORA-25153: 临时表空间为空
    今天做flashbacktable实验时出现了报错,下面谈谈处理过程:ORA-25153:临时表空间为空1.做闪回表的第一步要对表t启用rowmovementSQL>altertabletenablerowmovement;表已更改。2.查询当前的scnfromv$database;CURRENT_SCN-----------     5927743.往表里插入......
  • 学系统集成项目管理工程师(中项)系列15_质量管理
    1. 质量(Quality)的定义1.1. 反应实体满足主体明确和隐含需求的能力的特性总和1.2. 明确需求是指在标准、规范、图样、技术要求、合同和其他文件中用户明确提出的要求与需要1.3. 隐含需求是指用户和社会通过市场调研对实体的期望以及公认的、不必明确的需求,需要对其加以分析......