![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go
文章平均质量分 52
worxfr
与自己和解,修身养性...
展开
-
Go实现SFTP客户端
我将提供一个封装了 SFTP 客户端操作的简单例子,以确保通用性。这个例子包括连接、断开连接、上传文件、下载文件、列出目录和创建目录的基本操作。原创 2024-06-26 09:57:21 · 354 阅读 · 0 评论 -
Go 实现SFTP连接服务
我们将SFTP连接和处理逻辑,以及登录账户信息封装,这样可以在不同的地方重用代码,并且可以轻松地更改登录凭据。在实际部署中,您应该使用更安全的方法存储用户凭据,例如使用加密的方式,或者通过集成现有的用户管理系统,而不是将用户名和密码硬编码在代码中。此外,您可能还需要添加更多的功能,例如支持基于公钥的认证、限制用户的文件系统访问权限、记录日志到文件等。您需要确保您的系统中有SSH私钥文件,并且您有权使用指定的端口。是您的服务器私钥文件的路径,您需要将其替换为实际的文件路径。方法,后者配置并启动SFTP服务。原创 2024-06-25 18:18:54 · 604 阅读 · 0 评论 -
Go 线程池实现案例
Go 语言并不像其他一些语言(例如 Java 或 C#)那样直接提供一个线程池的概念。相反,Go 使用 goroutines 来实现并发,它是一种比线程更轻量级的并发执行单元。原创 2024-02-22 09:30:00 · 816 阅读 · 0 评论 -
【最佳实践】Go 组合模式对业务解耦
在 Go 语言中,组合模式(Composition)是通过嵌入结构体(embedding structs)来实现的。它允许我们构建复杂的对象,通过将简单对象组合成树形结构来表示整个部分的层次结构。在 Go 中,这种模式不仅仅用于对象,还经常用于组织和管理代码,以及对业务逻辑进行结构化。原创 2024-01-26 14:23:34 · 588 阅读 · 0 评论 -
Go 通过 goroutines 实现类似线程池的模式
Go 语言自身不提供传统意义上的线程池(thread pool)概念,因为它有一套自己的并发模型,基于 goroutines 和 channels。goroutine 是 Go 语言的轻量级线程,调度由 Go 运行时管理,不需要像操作系统线程那样显式创建和管理线程池。这意味着通常不需要自己管理一个线程池;如果需要限制同时运行的任务数量,或者想要复用一定数量的工作单元以减少创建和销毁 goroutines 的开销,可以实现一个类似线程池的模式。这样,就可以控制并发执行的任务数量,从而实现类似线程池的行为。原创 2024-01-26 14:18:19 · 1052 阅读 · 0 评论