当前位置: 首页 > 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.dtcms.com/a/225611.html

相关文章:

  • 计算机网络第1章(下):网络性能指标与分层模型全面解析
  • 计算机网络第1章(上):网络组成与三种交换方式全解析
  • 清理 pycharm 无效解释器
  • GraphQL 入门篇:基础查询语法
  • 麦克风和电脑内播放声音实时识别转文字软件FunASR整合包V5下载
  • 科技修真的解决方案
  • 网页前端开发(基础进阶2)
  • 基于 Flickr30k-Entities 数据集 的 Phrase Localization
  • 【中国企业数字化转型之路】企业的资源投入与数字化转型的产出效益平衡探索(上篇)
  • ps填充图层
  • linux驱动开发(1)-内核模块
  • 大语言模型的推理能力
  • unix/linux source 命令,其内部结构机制
  • 一键开关机电路分析
  • 从线性代数到线性回归——机器学习视角
  • Amazon Augmented AI:人类智慧与AI协作,破解机器学习审核难题
  • QT中子线程触发主线程弹窗并阻塞等待用户响应-传统信号槽实现
  • 18. Qt系统相关:多线程
  • HackMyVM-Teacher
  • java基础学习(二十)
  • 机器学习:逻辑回归与混淆矩阵
  • Java正则表达式完全指南
  • 深度学习入门Day1--Python基础
  • 【复杂网络分析】什么是modularity?
  • 【Python Cookbook】文件与 IO(三)
  • [Linux] Linux 系统从启动到驱动加载
  • 启动你的RocketMQ之旅(七)-Store存储原理
  • Linux系统配置Docker镜像加速
  • 定时任务:springboot集成xxl-job-core(二)
  • [学习] PID算法原理与实践(代码示例)