求 net 这段代码翻译GO

hellsam · 2017-09-22 15:17:44 · 1831 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-09-22 15:17:44 的主题,其中的信息可能已经有所发展或是发生改变。

Random random = new Random();
return string.Format("{0}{1}:{2}{3}:{4}{5}:{6}{7}:{8}{9}:{10}{11}", new object[]
{
    random.Next(0, 16).ToString("x"),
    "6",
    random.Next(0, 16).ToString("x"),
    random.Next(0, 16).ToString("x"),
    random.Next(0, 16).ToString("x"),
    random.Next(0, 16).ToString("x"),
    random.Next(0, 16).ToString("x"),
    random.Next(0, 16).ToString("x"),
    random.Next(0, 16).ToString("x"),
    random.Next(0, 16).ToString("x"),
    random.Next(0, 16).ToString("x"),
    random.Next(0, 16).ToString("x")
}).ToLower();

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1831 次点击  
加入收藏 微博
8 回复  |  直到 2017-09-23 07:54:00
hshd123
hshd123 · #1 · 8年之前

能简单解释一下这段代码的逻辑吗? 把逻辑说出来,或许能帮你,这.net代码看不懂逻辑

hellsam
hellsam · #2 · 8年之前

@hshd123 是生成一组随机数字 mac,转换16进制

tk103331
tk103331 · #3 · 8年之前

rand.Int 随机值 fmt.Sprintf 格式化字符串 具体使用方法查API吧 https://gowalker.org/math/rand#Int https://gowalker.org/fmt#Sprintf

hellsam
hellsam · #4 · 8年之前

@tk103331 方便提供下源码吗

nezhang
nezhang · #5 · 8年之前
package main

import (
    "fmt"
    "math/rand"
    "time"
)

func main() {
    rand.Seed(time.Now().Unix())
    a := make([]byte, 6)
    rand.Read(a)
    fmt.Printf("%02x:%02x:%02x:%02x:%02x:%02x", a[0], a[1], a[2], a[3], a[4], a[5])
}
hellsam
hellsam · #6 · 8年之前

@nezhang 嗯谢谢了, 不知道fmt.printf有什么可以代替格式化 我需要return到http里去, 但是这个包只能在命令里输出

nezhang
nezhang · #7 · 8年之前

@hellsam

package main

import (
    "fmt"
    "math/rand"
    "time"
)

func main() {
    mac := GetRandMac()
    fmt.Println(mac)
}

func GetRandMac() string {
    rand.Seed(time.Now().Unix())
    a := make([]byte, 6)
    rand.Read(a)
    return fmt.Sprintf("%02x:%02x:%02x:%02x:%02x:%02x", a[0], a[1], a[2], a[3], a[4], a[5])
}
nezhang
nezhang · #8 · 8年之前
func GetRandMac() string {
    rand.Seed(time.Now().Unix())
    a := make([]byte, 6)
    rand.Read(a)
    return fmt.Sprintf("%02x:%02x:%02x:%02x:%02x:%02x", a[0], a[1], a[2], a[3], a[4], a[5])
}
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传