什么是字符串?

定义 字符串是一个不可改变的字节序列。

 字符串的定义
package main
import "fmt"
import "strings"
import "strconv"

func stringtest()  {
var name string = "Cloud natic cloud"
fmt.Println(name)
输出

Cloud natic cloud

// 常用方法

// 1、转译 字符 \n \t 

address := "中国\n上海"
fmt.Println(address)
输出
  中国
  上海
    
    // 2、反引号,以原生形式输出,包括特殊字符,防止注入攻击
    
     var address2 string = `
      上海迪士尼度假乐园\n 浦东
      上海 静安寺
   上海\n人民广场
     `
     fmt.Println(address2)
   	
   	输出
   		  上海迪士尼度假乐园\n 浦东
     上海 静安寺
  上海\n人民广场
    
    // 3、字符串拼接
    
       var conn_string string= "hello" + " " + "go"
  fmt.Println(conn_string)
  hello go
    
    // 4 字符串索引
    
       var str_index string="hello go"
  fmt.Println(str_index)
  // 遍历
  for k,v :=range str_index{
      fmt.Printf("k is %d,value is %c\n",k,v)
  }
    
    输出
    
k is 0,value is h
k is 1,value is e
k is 2,value is l
k is 3,value is l
k is 4,value is o
k is 5,value is  
k is 6,value is g
k is 7,value is o
    
    // 5、修改字符串
    change_str := "say hello"
fmt.Println(change_str)
s1 :=[]rune(change_str)  // 转化为[]int32的切片,rune是int32的别名
fmt.Println(s1)
fmt.Println(s1[1]) //
输出 97 
s1[1] = '哈'
change_str =string(s1) //类型强转,rune转为string
fmt.Println(change_str) 

输出

s哈y hello

// 6、字符串处理 strings 的包
//1、判断是否以某个字符串开头,返回布尔值
res0 :=strings.HasPrefix(s2,"ww")
res1 :=strings.HasPrefix(s2,"hello")
fmt.Printf("res0 is %v\n", res0) 

输出
res0 is false

fmt.Printf("res1 is %v\n", res1) 
输出
res1 is true

// 2、判断是否以某个字符串结尾,返回布尔值

res3 :=strings.HasSuffix(s2,"go")
res4 :=strings.HasSuffix(s2,"hello")
fmt.Printf("res3 is %v\n", res3) 

输出 

res3 is true

fmt.Printf("res4 is %v\n", res4)

输出 

res4 is false

fmt.Println("基本数据类型转化")

// go 基本数据类型转化  fmt.Sprintf("%参数",表达式) 将数据类型转换成
// string字符串

var n1 int = 36
var n2 float64 = 35.73
var b bool = false
var newChar byte = 'c'

// 依次输出

// go 格式化输出
// %q 单引号
// %d 十进制表示
// %f 有小数点
// %t 布尔值
// %c unicode 对应的字符
// %T

输出 

s1 type string s1="36"
s12 type string s12="35.730000"
s3 type string s3="false"
s4 type string s4="c"


// 使用 Stronv 导入strconv 模块

//参数解释
 // f 格式
 // 10 小数位保留10位
 // 64  表示float64
   

s5 :=strconv.FormatFloat(nu2,'f',10,64)
fmt.Printf("s5 类型是%T s5=%q\n",s5,s5)

s6 :=strconv.FormatBool(b11)
fmt.Printf("s6 类型是%T s6=%q\n",s6,s6)

输出

s5 类型是string s5="35.6600000000"
s6 类型是string s6="true"

}



func main()  {
stringtest()
}

字符串的常用方法