golang中如何获取文件的扩展名?
在go的path包里,有<code>func Ext(path string) string</code>方法,这个方法可以获取文件的扩展名,他的返回值是带点<code>.</code>的,比如文件名称是<code>test.txt</code>, 使用这个函数后,返回值是<code>.txt</code>。如果文件没有扩展名,这个方法返回空字符。详情查看源码。
<pre><code class="lang-go hljs"><span class="token comment">// Ext returns the file name extension used by path.</span> <span class="token comment">// The extension is the suffix beginning at the final dot</span> <span class="token comment">// in the final slash-separated element of path;</span> <span class="token comment">// it is empty if there is no dot.</span> <span class="token keyword">func</span> <span class="token function">Ext</span><span class="token punctuation">(</span>path <span class="token builtin">string</span><span class="token punctuation">)</span> <span class="token builtin">string</span> <span class="token punctuation">{</span> <span class="token keyword">for</span> i <span class="token operator">:=</span> <span class="token function">len</span><span class="token punctuation">(</span>path<span class="token punctuation">)</span> <span class="token operator">-</span> <span class="token number">1</span><span class="token punctuation">;</span> i <span class="token operator">>=</span> <span class="token number">0</span> <span class="token operator">&&</span> path<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token operator">!=</span> <span class="token string">'/'</span><span class="token punctuation">;</span> i<span class="token operator">--</span> <span class="token punctuation">{</span> <span class="token keyword">if</span> path<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token operator">==</span> <span class="token string">'.'</span> <span class="token punctuation">{</span> <span class="token keyword">return</span> path<span class="token punctuation">[</span>i<span class="token punctuation">:</span><span class="token punctuation">]</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token keyword">return</span> <span class="token string">""</span> <span class="token punctuation">}</span> </code></pre>从源码中可以看出,是从字符串的最后一个字符开始遍历,遇到点<code>.</code>结束。如果没有扩展名,则遇到<code>/</code>就结束。最差的情况是把整个字符串都遍历一边。
到此这篇关于“golang中如何获取文件的扩展名?”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!您可能感兴趣的文章:
php 从url中获取文件扩展名
php获取文件扩展名的二种方法
C# 获取路径中,文件名、目录、扩展名的代码
golang中如何获取文件的扩展名?
php 获取文件扩展名的三个方法
golang 扩展package 列表
php 取得文件后缀(扩展名)的方法
php如何获取url的扩展名
php获取文件扩展名的几种方法
php判断上传文件的文件类型的几种方法