我要开发的插件功能极为简单,就是对用户选中的内容进行base64编码或解密工作.

其中所涉及的技术部分主要是GO语言程序开发和editplus插件配置的部分,首先我们来看一下GO语言代码的写法,如下:

package main

import (
"encoding/base64"
"fmt"
"os"
)

const (
version string = "1.0"
)

func main() {
num := len(os.Args)
if num < 2 || num > 3 {
fmt.Println("請使用 -h 查看軟件使用方法, Go語言技術QQ群: 195112\n")
return
}

switch os.Args[1] {
case "-a": //encode
data := []byte(os.Args[2])
out := base64.StdEncoding.EncodeToString(data)
fmt.Print(out)
case "-x": //decode
out, err := base64.StdEncoding.DecodeString(os.Args[2])
if err != nil {
fmt.Println("")
return
}
fmt.Printf("%s", out)
case "-v":
fmt.Println("ver:", version)
return
case "-h": //decode
fmt.Println("\n說明:")
fmt.Println("  這個程式由 Seven (http://7di.net) 製作,用來對內容進行 base64 加/解密.")
fmt.Println("\n參數:")
fmt.Println("  -a 對內容加密")
fmt.Println("  -x 對內容解密")
fmt.Println("  -v 軟件版本")
fmt.Println("  -h 使用幫助")
fmt.Println("\n用法:")
fmt.Println("  加密: base64.exe -a 要加密的內容")
fmt.Println("  解密: base64.exe -x 要解密的內容")
fmt.Println("\n交流:")
fmt.Println("  Go語言技術QQ群: 195112")
return
default:
fmt.Println("請使用 -h 查看軟件使用方法, Go語言技術QQ群: 195112\n")
return
}
}

原理是执行编译好的exe文件时同时传递三个参数进来,然后用os.Args接收,接收之后要判断参数的数量,我们允许传递一个或两个参数进来,如果小于两个或大于三个参数则出错

两个参数是为了应付-h查看使用帮助或-v显示版本号,三个参数则是为了处理加密或解密工作.

我们把上边的代码存成.go文件,然后编译成.exe文件,最后把mail.exe改成base64.exe,并把base64.exe复制到editplus的stx目录下,并对editplus进行相应的配置,配制方法如下:

希望此为能起到抛砖引玉的功能,对大家开发插件能够有所帮助.

Go語言技術QQ群: 195112

用GO语言开发editplus编辑器插件(附源码)相关推荐

  1. MultiRow发现之旅(六)- 使用MultiRow开发票据应用(附源码)

    前文回顾 MultiRow发现之旅(一)- 高效模板设计器 MultiRow发现之旅(二)- 详解属性管理器 MultiRow发现之旅(三)- 模板管理器和Table MultiRow发现之旅(四)- ...

  2. 暑期Android游戏开发——小兔子跳铃铛(附源码)

    暑期Android游戏开发--小兔子跳铃铛(附源码) 一. 背景说明 我在南京的一所高校学习软件工程.学院里每年会举行一次"创新杯"软件比赛,鼓励同学自主学习和创新.我和几个好兄弟 ...

  3. Django集成Markdown编辑器【附源码】

    专注内容写作的你一定不要错过markdown 简单介绍 markdown是一种标记语言,通过简单的标记语法可以使普通的文本内容具有一定的格式,使用非常简单,学习成本极低 目前各大Blog平台都已支持m ...

  4. 【C#+Access+WindowsAPI】实现仿360的安全卫士 一:功能展示与系统开发环境简介(附源码和资源)

    需要源码和资源请点赞关注收藏后评论区留言私信~~~ 其他部分文章链接如下 [C#+Access+WindowsAPI]实现仿360的安全卫士 二:主窗体设计讲解(附源码和资源) [C#+Access+ ...

  5. 测速源码_物联网之智能平衡车开发实战项目(附源码)

    自从上次分享了"适合练手的10个前端实战项目(附源码)"之后,很多小伙伴就私信问有没有物联网相关的实战项目教程,那么今天就给大家分享一个物联网工作初期经常接触的项目:智能平衡车开发 ...

  6. CTP接口开发案例(内附源码)

    CTP接口开发(内附源码) 提示:在看本博客之前建议先阅读上期所官方的开发文档(SimNow官网中去下载CTP接口文件),然后在SimNow官网注册模拟账号. 提示:股票CTP接口和期货CTP接口类似 ...

  7. Netty实战:Springboot+Netty+protobuf开发高性能服务器 (附源码下载)

    Springboot-cli 开发脚手架系列 Netty系列:Springboot使用Netty集成protobuf开发高性能服务器 文章目录 Springboot-cli 开发脚手架系列 简介 1. ...

  8. 航空机票APP的设计与实现【AS开发+SQLITE】【附源码】

    航空机票APP的设计与实现[附源码] 演示 学长带你飞之 航空机票小app 1 背景及意义 在信息技术和网络技术不断发展的当前社会,航空公司赖以生存的根本是提升自己的服务,只有以客户为本,企业才能保证 ...

  9. 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构(附源码)

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:推荐19个github超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 作者:zheng gitee ...

最新文章

  1. 广东海洋大学微型计算机考试,广东海洋大学2007-2008微型计算机原理及应用
  2. Scala 读取文件
  3. Quiz 92 - twisted
  4. codeforces1473 E.Minimum Path(分层图最短路)
  5. OpenVINO InferenceEngine framework
  6. netty 多个 本地udp端口_如何在SpringBoot中,使用Netty实现远程调用?
  7. pycharm引用python_在Python/Pycharm中找不到引用“xxx”
  8. npm install cracoc 老版本_npmamp;nvmamp;nrmamp;yarn常用的命令和常见的手法
  9. 计算机打出音乐小樱,《火影忍者》插曲——小樱主题曲
  10. 攻击银行内网,黑客只要三步
  11. 数据库sql语句杂谈
  12. vue之生命周期(beforeCreate,created,beforeMount,mounted,beforeUpdate,updated)
  13. 【算法】八皇后问题 Python实现
  14. Day0205____数据库
  15. R从网页抓取到文本分析全教程:影评的获取与分析
  16. raster2pgsql命令参数详解
  17. b站pink老师JavaScript的PC端网页特效 案例代码——仿京东放大镜效果
  18. 05-阿里云视频点播服务与谷粒学院整合视频点播技术
  19. Java第一次实训报告
  20. 开关电源matlab仿真设计报告,基于MATLAB的开关电源反馈控制系统的设计和仿真

热门文章

  1. ILSpy反编译工具的使用
  2. mac XCode 快捷键
  3. 移动开发之设计稿转换页面单位尺寸
  4. VC/MFC程序开启关闭和打开自己或其他软件,更改窗口类
  5. [Guava源码日报(1)]Guava类库简介
  6. Java Formatter 阅读心得
  7. System.Data.SqlClient.SqlError: 尚未备份数据库的日志尾部
  8. 领域驱动设计DDD之读书笔记
  9. EVCache缓存在 Spring Boot中的实战
  10. 模糊的边界:内存和存储以全新方式融合