golang中如何获取文件的扩展名?

golang中如何获取文件的扩展名?

在go的path包里,有func Ext(path string) string方法,这个方法可以获取文件的扩展名,他的返回值是带点.的,比如文件名称是test.txt, 使用这个函数后,返回值是.txt。如果文件没有扩展名,这个方法返回空字符。详情查看源码。

// Ext returns the file name extension used by path.
// The extension is the suffix beginning at the final dot
// in the final slash-separated element of path;
// it is empty if there is no dot.
func Ext(path string) string { 
	for i := len(path) - 1; i >= 0 && path[i] != '/'; i-- { 
		if path[i] == '.' { 
			return path[i:]
		}
	}
	return ""
}

从源码中可以看出,是从字符串的最后一个字符开始遍历,遇到点.结束。如果没有扩展名,则遇到/就结束。最差的情况是把整个字符串都遍历一边。

    原文作者:盖文的笔记
    原文地址: https://blog.csdn.net/cruiser_ysw/article/details/106564007
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞