DAY8 string包和strconv

        string的使用:

         1.""或者``(双引号或者反引号)

         2.A-65,a-97,0-48

         3.字符串是字节的集合

         4.每个字符都有固定的位置,可以通过下标访问(可能是其数字代号),中文字符占3个字节

package main

import "fmt"

func main() {
	/*
		string的使用:
		 1.""或者``(双引号或者反引号)
		 2.A-65,a-97,0-48
		 3.字符串是字节的集合
		 4.每个字符都有固定的位置,可以通过下标访问(可能是其数字代号),中文字符占3个字节
	*/

	//定义字符串
	s1 := "hello"
	s2 := "liuyang"
	fmt.Printf("s1: %v\n", s1)
	fmt.Printf("s2: %v\n", s2)

	fmt.Printf("%c %c %c", s1[0], s1[1], s2[0])

	for _, v := range s1 {
		//fmt.Println(i, v)
		fmt.Printf("%c", v)
	}

	//字符串切片
	slice1 := []byte{65, 66, 67, 68, 69}
	s3 := string(slice1) //根据一个字节切片,构建字符串
	fmt.Printf("s3: %v\n", s3)

	s4 := "abcde"
	slice2 := []byte(s4) //根据字符串,获取对应的切片
	fmt.Printf("slice2: %v\n", slice2)

	//字符串不能修改
}
package main

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

func main() {
	/*
		strings包的使用:

	*/
	s1 := "liuyang"
	fmt.Println(strings.Contains(s1, "yang")) //strings.contains(字符串,子串),判断子串是否在字符串中

	fmt.Println(strings.ContainsAny(s1, "abcd")) //任意一个字符在s1中出现则为真

	fmt.Println(strings.Count(s1, "abcd")) //统计"abcd"在s1中出现的次数

	//判断前缀后缀,strings.HasPrefix,strings.HasSuffix
	s2 := "20190525课堂笔记.txt"
	if strings.HasPrefix(s2, "201905") { //判断是否是以201905开头
		fmt.Println("19年5月的文件")
	}

	if strings.HasSuffix(s2, ".txt") {
		fmt.Println("是文本文件")
	}

	//strings.Index,返回第一次出现子串的位置,不存在的话就返回-1
	fmt.Println(strings.Index(s2, "5") + 1)

	//strings.IndexAny,返回任意一个子串中字符第一次出现的位置
	fmt.Println(strings.IndexAny(s1, "ahdh"))

	//string.LastIndex(s1,"l"),判断l最后在s1中出现的位置
	fmt.Println(strings.LastIndex(s1, "l"))

	//字符串拼接
	ss1 := []string{"abc", "world", "hello", "ruby"}
	s3 := strings.Join(ss1, "-") //使得ss1中每个元素以*连接
	fmt.Printf("s3: %v\n", s3)

	//字符串切割:按照指定字符切割成字符串切片
	s4 := "123,456,789,10"
	s5 := strings.Split(s4, ",") //按照逗号切割
	fmt.Printf("s5: %v\n", s5)
	for i := 0; i < len(s5); i++ {
		fmt.Println(s5[i])
	}

	//字符串重复,srings.Repeat(字符串,重复次数)
	s6 := strings.Repeat("hello", 5)
	fmt.Printf("s6: %v\n", s6)

	//字符串替换,strings.Replace(字符串,目标,要替换为的字符,要替换几个?)
	s7 := strings.Replace(s6, "l", "*", 2) //将s6中出现的前2个替换为*
	fmt.Printf("s7: %v\n", s7)

	fmt.Println(strings.ToUpper(s6)) //ToUpper,ToLower,切换大小写
	fmt.Println(strings.ToLower(s6))

	//截取子串
	s8 := s6[3:8] //不包含5
	fmt.Printf("s8: %v\n", s8)

	/*
		strconv包的使用:字符串和基本类型的转化

		1.strconv.Atoi:字符串转整型
		2.strconv.Itoa:整型转字符串
		3.b,err:=strconv.ParseBool("true")//转换成bool
	*/

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值