zoukankan      html  css  js  c++  java
  • 用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 ")
    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(" 說明:")
    fmt.Println("  這個程式由 Seven (http://7di.net) 製作,用來對內容進行 base64 加/解密.")
    fmt.Println(" 參數:")
    fmt.Println("  -a 對內容加密")
    fmt.Println("  -x 對內容解密")
    fmt.Println("  -v 軟件版本")
    fmt.Println("  -h 使用幫助")
    fmt.Println(" 用法:")
    fmt.Println("  加密: base64.exe -a 要加密的內容")
    fmt.Println("  解密: base64.exe -x 要解密的內容")
    fmt.Println(" 交流:")
    fmt.Println("  Go語言技術QQ群: 195112")
    return
    default:
    fmt.Println("請使用 -h 查看軟件使用方法, Go語言技術QQ群: 195112 ")
    return
    }
    }


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

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

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

     

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

    Go語言技術QQ群: 195112

  • 相关阅读:
    Netbeans C++ unable to resolve identifier 无法解析标识符
    Netbeans C++ unable to resolve identifier 无法解析标识符
    代码版本《1》
    Perl 列表框
    Perl 子程序变量外部使用--又称为闭包
    标签和单行文本
    Linux显示使用者将不能利用交谈式指令来对行程
    Linux显示更新十次后退出
    Linux显示进程状态
    Linux显示服务器完整的状态信息
  • 原文地址:https://www.cnblogs.com/see7di/p/3963065.html
Copyright © 2011-2022 走看看