go语言基础-字符串

package main

import (
	"fmt"
	"strings"
)

/**
* 字符串
 */
func main() {
	var s1 = "string1"
	var s2 string = "string2"
	s3 := "string3"
	fmt.Printf("s1:%v,\rs2:%v\ns3:%v", s1, s2, s3)
	fmt.Printf("\n\ns1:%v,\ns2:%v\ns3:%v\n", s1, s2, s3)

	//\转义符,比如输出 " \ 等需要转义
	s4 := "c:\\\\work"
	fmt.Println(s4)

	//多行字符串定义,需要使用转义字符进行定义,不方便
	s5 := "xsdcec\ncwcewc"
	fmt.Println(s5)
	//采用反引号定义多行字符串更方便会保留格式,``这个是反引号不是单引号'',``反引号是英文模式下,tab键上面那个
	s6 := `bxgwche
	xwcwec
	cwc
	   cewvtr`
	fmt.Println(s6)

	//字符串常见操作
	//len(字符串变量)  获取字符串变量的长度
	len1 := "ab" //长度2  英文一个字母一个字节
	len2 := "我们" //长度6  汉字一个汉字三个字节
	fmt.Println(len(len1), len(len2))

	//字符串拼接  + 或者 fmt.Sprintf()
	add1 := "add1"
	add2 := "add2"
	//fmt.Sprintf可以更自由拼接
	fmt.Println(fmt.Sprintf("%v      %v  xwce %T", add1, add2, add1))
	//+直接拼接两个字符串
	fmt.Println(add1 + add2)

	//分割字符串,strings.Split();将字符串按照某个规则切割为切片
	s7 := "dcdscs/xwcewc/vrb/nyum/rt"
	arr1 := strings.Split(s7, "/")
	fmt.Printf("值:%v,类型:%T\n", arr1, arr1)

	//拼接字符串,将切片元素按照某个规则拼接为字符串,切片转字符串
	s8 := strings.Join(arr1, ",")
	fmt.Printf("值:%v,类型:%T\n", s8, s8)

	//定义切片
	arr2 := []string{"xxx", "yyy", "zzz"}
	fmt.Printf("值:%v,类型:%T\n", arr2, arr2)

	//检测某个字符串中是否包含另外一个字符串 strings.Contains()
	s9 := "xxx/yyy zzz"
	s10 := "xxx"
	fmt.Println(strings.Contains(s9, s10))

	//检测字符串是否以另外一个字符串开始
	fmt.Println(strings.HasPrefix(s9, s10))

	//检测字符串是否以另外一个字符串结尾
	fmt.Println(strings.HasSuffix(s9, s10))

	s11 := "aabbccaabbccdd"
	s12 := "cc"
	//检测某个字符串中第一次出现另一个字符串的下标,下标从0开始从左往右
	fmt.Println(strings.Index(s11, s12))
	//检测某个字符串中最后一次出现另一个字符串的下标,下标从0开始从左往右
	fmt.Println(strings.LastIndex(s11, s12))
	//如果某个字符串中没有另外一个字符串则输出下标-1
	fmt.Println(strings.Index(s11, "xx"))

}

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值