请教 Delphi 大佬,需要将下面的代码转成 Go,但是由于不了解相关语法,是在难以下手。请问有没有大佬会,请赐教!!!!在线等,急~~~~~真急
procedure makeMMbyts(var bb: TBytes); var b1: TBytes; i1, i2: integer; begin b1 := copy(bb); i1 := Length(b1); setlength(b1, i1 + i1); for i2 := i1 to i1 + i1 - 1 do begin b1[i2] := random(255); b1[i2 - i1] := ((b1[i2 - i1] xor b1[i2]) and $FF); end; i1 := Length(b1); setlength(b1, i1 + i1); for i2 := i1 to i1 + i1 - 1 do begin b1[i2] := random(255); b1[i2 - i1] := ((b1[i2 - i1] xor b1[i2]) and $FF); end; bb := copy(b1); setlength(b1, 0); end;
1
domodomo 2021-04-21 19:30:02 +08:00 1
procedure makeMMbyts(var bb: TBytes); //申明一个函数,传入一个 byte 数组参数
var b1: TBytes; i1, i2: integer; //以上是本地变量申明 begin //函数开始 b1 := copy(bb); //把数组 bb 复制给 b1 i1 := Length(b1); //把 b1 的长度赋给 i1 setlength(b1, i1 + i1); //b1 数组长度翻倍 for i2 := i1 to i1 + i1 - 1 do//开始滤遍 b1 数组 begin b1[i2] := random(255);//给 b1[i2]随机一个 255 以内的数值 b1[i2 - i1] := ((b1[i2 - i1] xor b1[i2]) and $FF); //b1[i2 - i1] = (b1[i2 - i1] ^ b1[i2]) & 0xff end; //再来一次 i1 := Length(b1); setlength(b1, i1 + i1); for i2 := i1 to i1 + i1 - 1 do begin b1[i2] := random(255); b1[i2 - i1] := ((b1[i2 - i1] xor b1[i2]) and $FF); end; bb := copy(b1); //把计算结果 b1 复制给 bb setlength(b1, 0); //b1 长度设为 0 end; //函数结束 这段代码写得真是……酸爽 |
2
liuhouer 2021-04-22 08:38:38 +08:00 via iPhone
pascal 语法看着很顺眼,以前贼喜欢,可惜没落了
|