在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
基本数据类型Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。 例子:s1 := "ares" 单引号与双引号区别 v1 := 'A' v2 := "A" fmt.Printf("类型:%T,内容:%v\n",v1,v1) //类型:int32,内容:65 fmt.Printf("类型:%T,内容:%v\n",v2,v2) //类型:string,内容:A
fmt.Println("\"Hello World!\"") //"Hello World!" fmt.Println("\"Hello \t World!\"") //"Hello World!"
多行字符串 package main import ( "fmt" "strings" ) //字符串操作 func main() { s1 := "ares" fmt.Println(len(s1)) //4 //字符串拼接 s2 := "GO" fmt.Println(s1 + s2) //aresGO s3 := fmt.Sprintf("%s----%s", s1, s2) fmt.Println(s3) //ares----GO //分割 ret := strings.Split(s1, "r") fmt.Println(ret) //[a es] //判断是否包含 ret2 := strings.Contains(s1, "a") ret3 := strings.Contains(s1, "a1") fmt.Println(ret2, ret3) //true false //判断前缀和后缀 ret4 := strings.HasPrefix(s1, "ar") //是不是以ar做前缀 ret5 := strings.HasSuffix(s1, "es1") //是不是以es1做后缀 fmt.Println(ret4, ret5) //true false //判断子串出现的位置 s4 := "applepen" fmt.Println(strings.Index(s4, "p")) //1 fmt.Println(strings.LastIndex(s4, "p")) //5 //join a1 := []string{"Python", "PHP", "JS", "Ruby", "Golang"} fmt.Println(a1) //[Python PHP JS Ruby Golang] fmt.Println(strings.Join(a1, "-")) //Python-PHP-JS-Ruby-Golang }
byte和rune类型 修改字符串 类型转换 //变量需要手工转型 var w1 int8 w1 = 10 var w2 int16 w2 = int16(w1) //先将w1转为int16类型再赋值给w2 fmt.Printf("w1类型:%T,w1数值:%v,w2类型:%T,w2数值:%v\n", w1,w1,w2,w2) //w1类型:int8,w1数值:10,w2类型:int16,w2数值:10 f1 := 3.14 var f2 int f2 = int(f1) fmt.Printf("f1类型:%T,f1数值:%v,f2类型:%T,f2数值:%v\n", f1,f1,f2,f2) //f1类型:float64,f1数值:3.14,f2类型:int,f2数值:3 //常量在有需要的时候自动转 sum := f1 + 10 fmt.Printf("%T,%v",sum,sum) //float64,13.14 代码示例: package main //字符 import "fmt" func main() { s1 := "Golang" c1 := 'G' //ASCII下占一个字节 fmt.Println(s1, c1) //Golang 71 s2 := "中国" c2 := '中' //UTF8下中文字符占3字节 fmt.Println(s2, c2) //中国 20013 s3 := "hello青年路" fmt.Println(len(s3)) //14 //遍历字符串 for i := 0; i < len(s3); i++ { fmt.Printf("%c\n", s3[i]) } fmt.Println() // for range 循环,是按照rune类型去遍历 for _, v := range s3 { fmt.Printf("%c\n", v) } //打印索引 for k, v := range s3 { fmt.Printf("%d%c\n", k, v) } //强制类型转换 s5 := "big" //将字符串强制转换成字节数组类型 byterArray := []byte(s5) fmt.Println(byterArray) //[98 105 103] //修改字符串 byterArray[0] = 'p' fmt.Println(byterArray) //[112 105 103] //将字节数组强制转换成字符串类型 s5 = string(byterArray) fmt.Println(s5) //pig //修改字符串 s6 := "菜鸟" arr6 := []rune(s6) arr6[0] = '大' fmt.Println(string(arr6)) //大鸟 //字符串反转 a1 := "hello" arr := []byte(a1) // [h e l l o] a2 := "" //定义空的字符串 for i := len(arr) - 1; i >= 0; i-- { //i 是 4 3 2 1 0 // arr[i] o l l e h (字符) a2 = a2 + string(arr[i]) } fmt.Println(a2) //olleh //反转2 length := len(arr) for i := 0; i < length/2; i++ { arr[i], arr[length-1-i] = arr[length-1-i], arr[i] } fmt.Println(string(arr)) //olleh }
|
请发表评论