• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

go语言学习(一):数组/切片-eilinge

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
学习区块链之后,发现还要学习加密,接触到的视频是:Go的crypto包,所以开始接触Go。因为和solidity有些相似,但是比solidity简单一些,就开始放松的心态去学习。
每天翻着go菜鸟教程,感觉简单的一批,可是当自己真要写代码的时候,就有点闷了. --凡是还是得脚踏实地才行!

 

package main

import "fmt"

func main() {
    //var type_name []type
    /*
        切片:[]无参数
        数组:只能修改值,无法改变长度,无法添加新元素
            固定长度 [n]  [...] //根据元素的个数来设置数组的大小
    */
    var e []byte
    //var e []byte = make([]byte,len)
    //e := make([]byte,len)
    //var a = [5]byte //type [5]byte is not an expression,= []byte{}一定要加大括号
    var a [6]byte
    var b = [...]byte{0}
    var f byte = b[0]
    //var c [...]byte //use of [...] array outside of array literal
    //b = append(b, byte(1)) //first argument to append must be slice; have [0]byte
    fmt.Println(a, b, e, f)
    padding([]byte{1, 2, 3, 4, 4, 4, 4, 5}, 3)
}

//简单DES加密初识
// DES1.go
package main

import (
    "bytes"
    "fmt"
)

func padding(src []byte, blockSize int) []byte {
    //1.截取加密代码 段数
    fmt.Println("depadding", src)
    padding := blockSize - len(src)%blockSize
    //2.无余数
    if padding == 0 {
        padText := bytes.Repeat([]byte{byte(blockSize)}, blockSize)
        src = append(src, padText...)
    } else { //else 一定直接要添加到该右括号的后面,不能令起一行
        //3.有余数
        padText := bytes.Repeat([]byte{byte(padding)}, padding)
        src = append(src, padText...)
    }
    //4.添加余数
    //src = append(src, padText...)
    return src

}
func Depadding(src []byte) []byte {
    //1.取出最后一个元素
    lasteum := int(src[len(src)-1])
    //2.删除和最后一个元素相等长的字节
    newText := src[:len(src)-lasteum]
    return newText
}

func main() {
    depadding := padding([]byte{1, 2, 3, 4, 5, 1, 2, 3}, 5)
    enpadding := Depadding(depadding)
    fmt.Println("enpadding", enpadding)
}

/*输出
depadding [1 2 3 4 5 1 2 3]
enpadding [1 2 3 4 5 1 2 3]
*/

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
变量的多次使用之GO发布时间:2022-07-10
下一篇:
CPU缓存体系对Go程序的影响发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap