当前位置: 首页 > news >正文

Go语言字符串类型详解

1. 定义字符串类型

package mainimport ("fmt");func main() {var str1 string = "你好 GoLang 1"var str2 = "你好 GoLang 2"str3 := "你好 GoLang 3"fmt.Printf("%v--%T\n", str1, str1)// 你好 GoLang 1--stringfmt.Printf("%v--%T\n", str2, str2)// 你好 GoLang 2--stringfmt.Printf("%v--%T\n", str3, str3)// 你好 GoLang 1--string
}

2. 字符串转义符

package mainimport ("fmt");func main() {str1 := "this \n is string" fmt.Println(str1)// this //   is stringstr2 := "C:\\Go\\bin"fmt.Println(str2)// C:\Go\bin}

3. 多行字符串

package main
import ("fmt");
func main() {str := `this is athis is bthis is cthis is dthis is e`fmt.Println(str)// this is a        //     this is b//     this is c//     this is d//     this is e
}

4. 求字符串长度

package mainimport ("fmt");func main() {var str1 = "aaaa"fmt.Println(len(str1))// 4var str2 = "你好" fmt.Println(len(str2))// 6
}

5. 拼接字符串

package mainimport ("fmt");func main() {str1 := "你好"str2 := "Golang"str3 := str1 + str2fmt.Println(str3)// 你好Golangstr4 := "你好"str5 := "世界"str6 := fmt.Sprintf("%v %v", str4, str5)fmt.Println(str6)// 你好 世界str7 := "反引号间换行将被作为字符串中的换行," +"文本将会原样输出," +"但是所有的转义字符均无效"fmt.Println(str7)// 反引号间换行将被作为字符串中的换行,文本将会原样输出,但是所有的转义字符均无效}

6. 字符串分割

package main
import ("fmt";"strings")
func main() {var str = "123-456-789"arr := strings.Split(str, "-")fmt.Println(arr)// [123 456 789] // 返回一个切片
}

7. 切片链接成字符串

package mainimport ("fmt";"strings");func main() {var str1 = "123-456-789"arr1 := strings.Split(str1, "-")str2 := strings.Join(arr1, "*")fmt.Println(str2) // 123*456*789arr2 := []string{"php", "java", "golang"} str3 := strings.Join(arr2, "-")fmt.Printf("%v - %T", str3, str3)// php-java-golang - string}

8. 判断是否包含

package mainimport ("fmt";"strings");func main() {str1 := "this is str"str2 := "this"flag1 := strings.Contains(str1, str2)fmt.Println(flag1)// true str3 := "thisxxx"flag2:= strings.Contains(str1, str3)fmt.Println(flag2)// false}

9. 前缀/后缀判断

package mainimport ("fmt";"strings");func main() {str := "this is str"str1 := "this"flag1 := strings.HasPrefix(str, str1)fmt.Println(flag1)// truestr2 := "str"flag2 := strings.HasSuffix(str, str2)fmt.Println(flag2)// true}

10. 从前查找字符串位置

package mainimport ("strings");func main() {str := "this is str"str1 := "is"num1 := strings.Index(str, str1)println(num1) // 2str2 := "xxx"num2 := strings.Index(str, str2)println(num2) // -1 }

11. 从后查找字符串位置

package mainimport ("strings");func main() {str1 := "this is str"str2 := "is"num := strings.LastIndex(str1, str2)println(num)  // 5
}
http://www.xdnf.cn/news/753895.html

相关文章:

  • day 42
  • MMR 最大边际相关性详解
  • 黑马Java面试笔记之框架篇(Spring、SpringMvc、Springboot)
  • Node.js 全栈开发方向常见面试题
  • [特殊字符] 超全整理!Streamlit命令行参数指南:加速开发与部署的秘诀
  • 【云安全】以Aliyun为例聊云厂商服务常见利用手段
  • git 如何解决分支合并冲突(VS code可视化解决+gitLab网页解决)
  • 循环流化床锅炉关键技术设计与优化路径
  • Flask文件处理全攻略:安全上传下载与异常处理实战
  • LeetCode 131.分割回文串:回溯法与回文子串判定的结合
  • c++之字符串
  • 定时任务:springboot集成xxl-job-core(一)
  • DOCKER使用记录
  • Go 即时通讯系统:日志模块重构,并从main函数开始
  • 【笔记】在 MSYS2(MINGW64)中安装 python-maturin 的记录
  • 【笔记】在 MSYS2(MINGW64)中正确安装 Rust
  • 通用人工智能 (AGI): 定义、挑战与未来展望
  • 《Python基础》第2期:环境搭建
  • npm install命令都做了哪些事情
  • Java数据结构——八大排序
  • UDP/TCP协议全解
  • Java正则表达式完全指南
  • vue-11(命名路由和命名视图)
  • Mnist手写数字
  • Python 中 dpkt 库的详细使用指南(强大的 Python 数据包解析库)
  • AI视频“入驻”手机,多模态成智能终端的新战场
  • 网页自动化部署(webhook方法)
  • 机器学习有监督学习sklearn实战二:六种算法对鸢尾花(Iris)数据集进行分类和特征可视化
  • 【ISP算法精粹】动手实战:用 Python 实现 Bayer 图像的黑电平校正
  • Linux 第三阶段课程:数据库基础与 SQL 应用