Golang 获取文件扩展名

Golang 获取文件扩展名

在Golang中,我们可以使用path包和string包来获取特定文件的扩展名。在本文中,我们将使用两种方法来获取文件扩展名。第一种方法是使用path包的path.Ext函数。第二种方法是使用string包的strings.LastIndex函数。

方法1:使用Path包

在这种方法中,我们将使用path包的path.Ext函数来获取文件的扩展名。这个内置函数将以文件作为输入,打印出其扩展名。

语法

path.Ext

Go的path/filepath包使得处理文件更加容易。它提供了一种方法来连接和划分文件路径,提取文件名和扩展名,并在文件路径上执行许多其他操作。函数filepath.Ext返回与提供的路径关联的文件扩展名。它返回以最后一个“.”字符开头的文件路径的一部分。如果路径不包含“.”字符,则返回一个空字符串。

步骤

  • 步骤 1 - 在程序中创建一个main包,并声明fmt(格式化包),path包,其中main会生成可执行代码,fmt有助于格式化输入和输出。

  • 步骤 2 - 创建一个main函数,并在该函数中创建一个名为myfile的变量,并将所需的文件赋给这个变量。

  • 步骤 3 - 使用path.Ext函数查找所需文件的扩展名,并将扩展名保存在extension变量中。

  • 步骤 4 - 在控制台打印扩展名。

  • 步骤 5 - 使用fmt包中的fmt.Println()函数执行打印语句,其中ln表示新行。

示例

在这个示例中,我们将使用path包中的path.Ext函数来查找文件的扩展名。

package main
import (
   "fmt"
   "path"
)

func main() {
   myfile := "file1.txt"//create file
   extension := path.Ext(myfile)  //obtain the extension of file
   fmt.Println("The extension of", myfile, "is", extension) //print extension
}

输出

The extension of file1.txt is .txt

方法2:使用Strings包

在此示例中,使用strings.LastIndex来查找文件名中最后一个点(.)的位置。如果无法找到点,则返回-1,表示文件没有扩展名。如果找到点,则将从点到字符串末尾的文件路径子字符串设置为ext变量。其余代码与第一个示例相同。让我们通过代码和算法来看它是如何执行的。

语法

strings.LastIndex()

Go的strings包提供了许多处理字符串的函数。要定位字符串中指定子串的最后一个实例,请使用strings包中的LastIndex函数。

步骤

  • 步骤1 - 在main包中创建一个程序并声明fmt(格式化包)和strings包,在main函数中生成可执行代码,fmt用于格式化输入和输出。

  • 步骤2 - 创建一个main函数,并在该函数中创建一个文件,并将其赋给一个名为myfile的变量。

  • 步骤3 - 现在,使用strings.LastIndex函数获取最后一个点(.)的出现位置。

  • 步骤4 - 如果没有获取到拓展名,则打印失败信息。

  • 步骤5 - 但是,如果获取到了拓展名,则将其存储在ext变量中,该变量是从索引开始直到字符串末尾的子串。

  • 步骤6 - 使用fmt包中的fmt.Println()函数在控制台上打印ext,其中ln代表换行。

示例

在此示例中,我们将使用strings包中的strings.LastIndex函数来执行程序。

package main
import (
   "fmt"
   "strings"
)

func main() {
   myfile := "file1.txt"
   extension := strings.LastIndex(myfile, ".") //obtain the extension after the dot
   if extension == -1 {
      fmt.Println("The file has no extension")
      return   //if no extension is present print failure
   }
   ext := myfile[extension:] //obtain the extension in ext variable
   fmt.Println("The extension of", myfile, "is", ext) //print the extension of file
}

输出

The extension of file1.txt is .txt

结论

我们执行了使用两种方法获取文件扩展名的程序。第一种方法使用了路径包的函数,第二种方法使用了字符串包的函数。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程