V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xzhuz
V2EX  ›  问与答

在线求教!求教 Delphi 大佬,需要将下面的代码转成 Go

  •  
  •   xzhuz · 2021-04-21 17:24:44 +08:00 · 678 次点击
    这是一个创建于 1099 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教 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;

    2 条回复    2021-04-22 08:38:38 +08:00
    domodomo
        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; //函数结束

    这段代码写得真是……酸爽
    liuhouer
        2
    liuhouer  
       2021-04-22 08:38:38 +08:00 via iPhone
    pascal 语法看着很顺眼,以前贼喜欢,可惜没落了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   981 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:59 · PVG 04:59 · LAX 13:59 · JFK 16:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.