Go之路(七):字符串操作

 

字符串操作

字符串操作主要是用索引下标的方式

练习1:

反转字符串

package main


import(
	"fmt"
)

func revers_str(target_str string) string {
	var re_str string
	for i := len(target_str)-1; i >= 0 ; i--{
		tem_str := target_str[i]
		re_str = re_str + fmt.Sprintf("%c", tem_str)
	}
	return re_str
}

func main() {
	str1 := "hello world"
	str2 := revers_str(str1)
	fmt.Println(str2)
}

  1.Go中的切片不能输入负数

  2.字符串通过索引取出的类型是单个字符,不能直接相加,可以用fmt.Sprintf(%c)来拼接

 

练习2:

找出100-999的素数

package main

import(
	"fmt"
)

func is_sushu(a int) bool{
	for i :=2; i<a; i++{
		if (a % i == 0){
			return false
		}
	}
	return true
}

func main()  {
	for i := 101; i<=200 ; i++{
		if is_sushu(i){
			fmt.Println(i)
		}
	}
}

  

 Strings和strconv的使用

1.strings.HasProfix()

package main

import(
	"fmt"
	"strings"
)

func main()  {
	var a string
	fmt.Scanf("%v", &a)
	if !strings.HasPrefix(a, "http://"){
		a = "http://"+a
	}
	fmt.Println(a)
}

 2.stingrs.HasSuffix()

package main

import(
	"fmt"
	"strings"
)

func main()  {
	var a string
	fmt.Scanf("%v", &a)
	if !strings.HasPrefix(a, "http://"){
		a = "http://"+a
	}
	if !strings.HasSuffix(a, "/"){
		a += "/"
	}
	fmt.Println(a)
}

  3.stingrs.Index()

package main

import(
	"fmt"
	"strings"
)

func main()  {
	var a string
	fmt.Scanf("%v", &a)
	if !strings.HasPrefix(a, "http://"){
		a = "http://"+a
	}
	if !strings.HasSuffix(a, "/"){
		a += "/"
	}

	index := strings.Index(a, "baidu")
	print(index)
	fmt.Println(a)
}

  

package main

import(
	"fmt"
	"strings"
)
// replace
// func main()  {
// 	var a string
// 	a = "hello world"
// 	a = strings.Replace(a, "l", "a",-1)
// 	fmt.Println(a)
// }

// Count
func main(){
	var a string
	a = "hello world"
	result := strings.Count(a ,"h")
	fmt.Println(result)
}

  

规律:Trim去除首尾,left代表左,right代表右.

 

纠错:Itoa和Atoi是strconv包里面的!!

 

i -> Int , a > string join和split是相反的

field

 

posted @ 2018-12-01 13:35  __Miracle  阅读(235)  评论(0)    收藏  举报