既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
在Go语言的开发过程中,处理文件路径是一项常见且关键的任务。本文通过一个具体的示例:检查数据库文件的父目录是否存在,若不存在则创建之——来探讨如何高效地处理文件路径。特别地,我们将聚焦于strings.LastIndex
方法的巧妙使用,以及它如何在路径处理中发挥关键作用。
背景知识:strings.LastIndex
方法
在Go标准库的strings
包中,LastIndex
函数是一个非常实用的字符串处理函数。它的签名如下:
func LastIndex(s, substr string) int
该函数返回substr
在s
中最后出现位置的索引,如果s
中不包含substr
,则返回-1。这个函数在处理文件路径时尤其有用,因为它可以帮助我们找到路径中最后一个分隔符的位置,从而轻松地分离出目录路径和文件名。
示例解析:确保数据库文件的父目录存在
现在,让我们来分析文章开始提供的函数checkCreateDbFile
,这个函数的目的是确保给定的数据库文件路径的父目录存在。如果父目录不存在,函数将创建它。
func checkCreateDbFile(file string) error {
// 获取文件夹路径
dir := file[:strings.LastIndex(file, "/")]
// 判断文件夹是否存在
if \_, err := os.Stat(dir); os.IsNotExist(err) {
// 创建文件夹
if err := os.MkdirAll(dir, os.ModePerm); err != nil {
![img](https://img-blog.csdnimg.cn/img_convert/19025afb6f988a137b83fcc77c3ed514.png)
![img](https://img-blog.csdnimg.cn/img_convert/92dbb3acac1908f475b6cef17401f342.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**