📌  相关文章
📜  golang 检查字符串以 结尾(1)

📅  最后修改于: 2023-12-03 15:01:02.302000             🧑  作者: Mango

Golang检查字符串以结尾

在Go中,我们可以使用strings包的HasSuffix函数来检查一个字符串是否以另一个字符串结尾。以下是关于如何使用该函数的一些示例代码和解释。

使用strings.HasSuffix函数
package main

import (
    "fmt"
    "strings"
)

func main() {
    str1 := "hello world"
    str2 := "world"
    str3 := "golang"
    
    // 检查字符串str1是否以str2结尾
    if strings.HasSuffix(str1, str2) {
        fmt.Println(str1, "ends with", str2)
    } else {
        fmt.Println(str1, "does not end with", str2)
    }
    
    // 检查字符串str1是否以str3结尾
    if strings.HasSuffix(str1, str3) {
        fmt.Println(str1, "ends with", str3)
    } else {
        fmt.Println(str1, "does not end with", str3)
    }
}

输出:

hello world ends with world
hello world does not end with golang

在以上代码中,我们首先导入了fmt和strings包。然后我们定义了三个字符串str1、str2和str3,分别为"hello world"、"world"和"golang"。接下来我们使用strings.HasSuffix函数来检查str1是否以str2和str3结尾,然后分别输出结果到控制台。

示例应用

在实际应用中,使用HasSuffix函数可以帮助我们过滤一些不需要的结果。例如,在搜索文件时,我们只需要输出以某个后缀结尾的文件名,可以使用如下代码:

package main

import (
    "fmt"
    "os"
    "path/filepath"
    "strings"
)

func main() {
    root := "./"
    suffix := ".go"
    
    filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
        if err != nil {
            return err
        }
        
        if !info.IsDir() && strings.HasSuffix(info.Name(), suffix) {
            fmt.Println(path)
        }
        
        return nil
    })
}

在以上代码中,我们使用filepath.Walk函数来遍历指定目录下的所有文件和文件夹,并调用一个匿名函数来处理每个文件和文件夹。在匿名函数中,我们首先检查文件是否是一个文件夹,如果不是,则检查文件是否以指定的后缀结尾。如果文件名符合条件,则输出文件路径到控制台。这种方法可以过滤掉那些不需要的文件,只留下我们需要的文件。

以上就是关于Golang检查字符串以结尾的介绍,希望对大家有所帮助。