用GO语言开发editplus编辑器插件(附源码)
我要开发的插件功能极为简单,就是对用户选中的内容进行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编辑器插件(附源码)相关推荐
- MultiRow发现之旅(六)- 使用MultiRow开发票据应用(附源码)
前文回顾 MultiRow发现之旅(一)- 高效模板设计器 MultiRow发现之旅(二)- 详解属性管理器 MultiRow发现之旅(三)- 模板管理器和Table MultiRow发现之旅(四)- ...
- 暑期Android游戏开发——小兔子跳铃铛(附源码)
暑期Android游戏开发--小兔子跳铃铛(附源码) 一. 背景说明 我在南京的一所高校学习软件工程.学院里每年会举行一次"创新杯"软件比赛,鼓励同学自主学习和创新.我和几个好兄弟 ...
- Django集成Markdown编辑器【附源码】
专注内容写作的你一定不要错过markdown 简单介绍 markdown是一种标记语言,通过简单的标记语法可以使普通的文本内容具有一定的格式,使用非常简单,学习成本极低 目前各大Blog平台都已支持m ...
- 【C#+Access+WindowsAPI】实现仿360的安全卫士 一:功能展示与系统开发环境简介(附源码和资源)
需要源码和资源请点赞关注收藏后评论区留言私信~~~ 其他部分文章链接如下 [C#+Access+WindowsAPI]实现仿360的安全卫士 二:主窗体设计讲解(附源码和资源) [C#+Access+ ...
- 测速源码_物联网之智能平衡车开发实战项目(附源码)
自从上次分享了"适合练手的10个前端实战项目(附源码)"之后,很多小伙伴就私信问有没有物联网相关的实战项目教程,那么今天就给大家分享一个物联网工作初期经常接触的项目:智能平衡车开发 ...
- CTP接口开发案例(内附源码)
CTP接口开发(内附源码) 提示:在看本博客之前建议先阅读上期所官方的开发文档(SimNow官网中去下载CTP接口文件),然后在SimNow官网注册模拟账号. 提示:股票CTP接口和期货CTP接口类似 ...
- Netty实战:Springboot+Netty+protobuf开发高性能服务器 (附源码下载)
Springboot-cli 开发脚手架系列 Netty系列:Springboot使用Netty集成protobuf开发高性能服务器 文章目录 Springboot-cli 开发脚手架系列 简介 1. ...
- 航空机票APP的设计与实现【AS开发+SQLITE】【附源码】
航空机票APP的设计与实现[附源码] 演示 学长带你飞之 航空机票小app 1 背景及意义 在信息技术和网络技术不断发展的当前社会,航空公司赖以生存的根本是提升自己的服务,只有以客户为本,企业才能保证 ...
- 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构(附源码)
点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:推荐19个github超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 作者:zheng gitee ...
最新文章
- 广东海洋大学微型计算机考试,广东海洋大学2007-2008微型计算机原理及应用
- Scala 读取文件
- Quiz 92 - twisted
- codeforces1473 E.Minimum Path(分层图最短路)
- OpenVINO InferenceEngine framework
- netty 多个 本地udp端口_如何在SpringBoot中,使用Netty实现远程调用?
- pycharm引用python_在Python/Pycharm中找不到引用“xxx”
- npm install cracoc 老版本_npmamp;nvmamp;nrmamp;yarn常用的命令和常见的手法
- 计算机打出音乐小樱,《火影忍者》插曲——小樱主题曲
- 攻击银行内网,黑客只要三步
- 数据库sql语句杂谈
- vue之生命周期(beforeCreate,created,beforeMount,mounted,beforeUpdate,updated)
- 【算法】八皇后问题 Python实现
- Day0205____数据库
- R从网页抓取到文本分析全教程:影评的获取与分析
- raster2pgsql命令参数详解
- b站pink老师JavaScript的PC端网页特效 案例代码——仿京东放大镜效果
- 05-阿里云视频点播服务与谷粒学院整合视频点播技术
- Java第一次实训报告
- 开关电源matlab仿真设计报告,基于MATLAB的开关电源反馈控制系统的设计和仿真