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的更多相关文章

  1. 15_常用API_第15天(Object、String、StringBuffer、用户登陆注册)_讲义

    今日内容介绍 1.Object 2.String 3.StringBuilder 01API概念 A:API(Application Programming Interface) 应用程序编程接口 B ...

  2. ABP(现代ASP.NET样板开发框架)系列之15、ABP应用层——应用服务(Application services)

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之15.ABP应用层——应用服务(Application services) ABP是“ASP.NET Boiler ...

  3. const char*、char*、char* const、char[]、string的区别

    1.const char* p: p is a pointer to const char(char const* p 一样)   意思就是不能通过p指针来修改p指向的内容(但是内容可以修改). 2. ...

  4. es6笔记1^_^let、string、number、math

    ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本 ...

  5. STL学习:STL库vector、string、set、map用法

    本文仅介绍了如何使用它们常用的方法. vector 1.可随机访问,可在尾部插入元素:2.内存自动管理:3.头文件#include <vector> 1.创建vector对象 一维: (1 ...

  6. JavaScript数据类型-2---Undefined、 Null、 Boolean、 Number、 String.

    学习目标 1.掌握JavaScript的数据类型 2.掌握typeof操作符 3.掌握Undefined 4.掌握null JavaScript的数据类型 ECMAScript中有5种简单数据类型(也 ...

  7. java日期互转:LocalDateTime、String、TimeStamp、Long、Instant、Date

    由于java版本的迭代,一个使用java开发的项目中可能出现多种日期对象,例如LocalDateTime.LocalDate.Date,不像C#只有一个DateTime,因此在各种日期格式或者对象之间 ...

  8. 第二课补充01——redis-cli命令行详解、string类型、list类型、hash类型命令操作详解

    一. redis-cli命令行参数 1.-x参数:从标准输入读取一个参数: [问题] [解决] 因为echo命令是默认带有回车\n的,不带回车需要echo –n命令: echo -n "ha ...

  9. asp.net MVC Model 类的主键 int类型、string类型、GUID类型。

    在使用asp.net mvc进行定义 模型类的时候,一般情况下,我们都会定义一个属性为 int iD{get;set;} 或为int ClassNameID {get;set;},在这种情况下 1.I ...

  10. C++ 数字、string 简便互转

    一.数字转为 string 类型 借用 sprintf 函数: char buffer[256]; int counter = 10; sprintf(buffer,"%04i", ...

随机推荐

  1. ATtiny88初体验(四):看门狗

    ATtiny88初体验(四):看门狗 ATtiny88单片机的看门狗使用内部独立的128KHz时钟源,拥有3种工作模式: Interrupt模式:超时产生中断: System Reset模式:超时产生 ...

  2. 分布式测试插件 pytest-xdist 使用详解

    使用背景: 大型测试套件:当你的测试套件非常庞大,包含了大量的测试用例时,pytest-xdist可以通过并行执行来加速整体的测试过程.它利用多个进程或计算机的计算资源,可以显著减少测试执行的时间. ...

  3. API技术的使用场景

    ​ 互联网的发展和普及,API技术也变得越来越重要.API是应用程序接口,它是一种连接不同应用程序或系统之间数据交换和通信的方式.API技术不仅提高了不同应用程序之间的互操作性,还加速了应用程序的开发 ...

  4. Python基础语法--课程笔记

    Smiling & Weeping ----我的心是旷野的鸟,在你的眼睛里找到了它的天空 定义和使用类: 1.声明类: class类名: 成员变量,成员函数 2.定义类的对象: 对象名 = 类 ...

  5. Avalonia开发(一)环境搭建

    一.介绍 开源 GitHub:https://github.com/AvaloniaUI/Avalonia/ 多平台支持,包括Windows.mac OS.Linux.iOS.Android.Sams ...

  6. LUA的一些工具备份

    table.unpack遇到的问题 做了个中转的服务, socket+json 传递数据, 通过 {...} 封装不定参数然后 json.encode 传递到其他服务器, 然后其他服务器 json.d ...

  7. pbjs 无法编码 bytes 类型数据问题的解决方案

    问题背景 之前写过一篇<使用脚本收发 protobuf 协议数据>,通过 pbjs 命令可以将 protobuf 二进制数据转换为 json: > pbjs msg.proto -- ...

  8. 我为什么要从PhoneGap中逃离? 转

    我为什么要从PhoneGap中逃离?  摘要:每一位程序员都有自己的技术信仰,我也不例外.但当技术信仰遇到实际工作中的问题时,你又要怎么做呢?还记得刚刚接触HTML5做跨平台开发的时候这样的问题就摆在 ...

  9. 快速展示原型之Minimal API开发

    Minimal API官网地址: https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/minimal-apis/security?vi ...

  10. Vue之仿百度搜索框

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...