• Golang strings 以及 strconv 的使用


    strings的使用

    HasPrefix

    语法: strings.HasPrefix(s, prefix string) bool    // 判断字符串s是否以prefix开头
    // 判断一个url是否以http://开头,如果不是,则加上http://
    
    package main
    
    import (
        "fmt"
        "strings"
    )
    
    func urlProcess(url string) string {
        res := strings.HasPrefix(url, "http://")
        if !res {
            url = "http://" + url
        }
        return url
    }
    
    func main() {
        var str string
        fmt.Scanf("%s
    ", &str)
        res := urlProcess(str)
        fmt.Println(res)
    }
    练习 1

    HasSuffix

    语法:
    strings.HasSuffix(s, suffix string) bool    // 判断字符串s是否以suffix结尾
    // 判断一个路径是否以 / 结尾, 如果不是, 则加上 / .
    package main
    
    import (
        "fmt"
        "strings"
    )
    
    func pathPrecess(path string) string {
    
        res := strings.HasSuffix(path, "/")
        if !res {
            path += "/"
        }
        return path
    }
    
    func main(){
        var path string
        fmt.Scanf("%s", &path)
        res := pathPrecess(path)
        fmt.Println(res)
    }
    练习 2

    Index

    语法:
    strings.Index(s, str string) int    // 判断str在s中首次出现的位置, 如果没有, 则返回-1

    LastIndex

    语法:
    strings.LastIndex(s, str string) int    // 判断str在s中最后一次出现的位置, 如果没有,则返回-1
    // 写一个函数返回一个字符串在另一个字符串的首次出现和最后出现位置
    
    package main
    
    import (
        "fmt"
        "strings"
    )
    
    func main(){
        s := "qwerrewq"
        str := "w"
        res := strings.Index(s, str)
        lastRes := strings.LastIndex(s, str)
        fmt.Println(res, lastRes)
    }
    练习 3

    Replace

    语法:
    strings.Replace(s, old, new string, n int) string    // 字符串替换

    Count

    语法:
    strings.Count(s, substr string) int    // 字符串计数

    Repeat

    语法:
    strings.Repeat(s string, count int) string    // 重复 count 次 s

    ToLower

    语法:
    strings.ToLower(s string) string    // 全部转为小写

    ToUpper

    语法:
    strings.ToUpper(s string) string    // 全部转为大写
    // 写一个函数分别演示Replace Count Repeat ToLower ToUpper的用法
    
    package main
    
    import (
        "fmt"
        "strings"
    )
    
    func main() {
        var str string
    
        fmt.Scanf("%s", &str)
    
        newReplace := strings.Replace(str, "he", "plm", 2)
        newCount := strings.Count(str, "he")
        newRepeat := strings.Repeat("okn", 6)
        newToLower := strings.ToLower(str)
        newToUpper := strings.ToUpper(str)
    
        fmt.Println(newReplace, newCount, newRepeat, newToLower, newToUpper)
    }
    练习 4

    TrimSpace

    语法:
    strings.TrimSpace(s string) string    // 去掉字符串s的首尾空白字符

    Trim

    语法:
    strings.Trim(s string, cutset string) string    // 去掉字符串s的首尾指定的cutset字符

    TrimLeft

    语法:
    strings.TrimLeft(s string, cutset string) string    // 去掉字符串s的首部指定的cutset字符

    TrimRight

    语法:
    strings.TrimRight(s string, cutset string) string    // 去掉字符串s的尾部指定的cutset字符

    Fields

    语法:
    strings.Fields(s string) []string    // 返回以 空格 分隔的所有子串slice

    Split

    语法:
    strings.Split(s, sep string) []string    // 返回以 sep 分隔的所有子串slice

    Join

    语法:
    strings.Join(a []string, sep string) string    // 用sep把a中的所有元素链接起来
    // 写一个函数分别演示TrimSpace Trim TrimLeft TrimRight Fields Split Join 的用法
    
    package main
    
    import (
        "fmt"
        "strings"
    )
    
    func main(){
        var str string
        
        fmt.Scanf("%s", &str)
    
        resTrimSpace := strings.TrimSpace(str)
        resTrim := strings.Trim(str, "ab")
        resTrimLeft := strings.TrimLeft(str, "ab")
        resTrimRight := strings.TrimRight(str, "ab")
        resFields := strings.Fields(str)
        resSplit := strings.Split(str, "a")
        resJoin := strings.Join(resSplit, "a")
        
        fmt.Println("TrimSpace: ", resTrimSpace, "
    ", "Trim:", resTrim, "
    ", "TrimLeft: ", resTrimLeft,"
    ", "TrimRight: ", resTrimRight, "
    ", "Fields: ", resFields, "
    ", "Split: ", resSplit, "
    ", "Join:", resJoin)
    
    }
    练习 5

    strconv的使用

    Itoa

    语法: 
    strconv.Itoa(i int) string    // 把一个整数 i 转成一个字符串

    Atoi

    语法:
    strconv.Atoi(s string) (int, error)    // 把一个字符串转成一个整数, 如果不能转, 则报错信息保留在error中, int为0 
    // 写一个函数分别演示Itoa Atoi的用法
    
    package main
    
    import (
        "fmt"
        "strconv"
    )
    
    func main() {
        i := 5
        s1 := "8"
        s2 := "m"
        res1 := strconv.Itoa(i)
    
        fmt.Println(res1)
    
        res2, err2 := strconv.Atoi(s1)
        res3, err3 := strconv.Atoi(s2)
        if err2 != nil {
            fmt.Println(s1, " 不能转成整数")
        }else {
            fmt.Println(res2)
        }
        if err3 != nil {
            fmt.Println(s2, " 不能转成整数")
        }else {
            fmt.Println(res3)
        }
    }
    练习 6
  • 相关阅读:
    Angular(一)
    go微服务系列(四)
    导包路径
    django导入环境变量 Please specify Django project root directory
    动手动脑三
    动手动脑二
    大柱
    日报
    验证码
    动手动脑
  • 原文地址:https://www.cnblogs.com/lpgit/p/10632756.html
Copyright © 2020-2023  润新知