当前位置: 首页 > 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
}

相关文章:

  • 计算机网络第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基础学习(二十)
  • 免费装饰公司网站模板/广告投放平台排名
  • 有个网站是做视频相册的/快速排名软件seo系统
  • phpcms安装教程/长沙关键词优化方法
  • 苏州外贸网站建设公司排名/网站建设技术托管
  • 奥一农场的网站开发/网络营销推广方案案例
  • 怎么把别人网站模板下载出来/福建网站建设制作