常用的一些code fragment


一、JavaScript & ES6+

MapObject:

const legSelectedMap = new Map();
legSelectedMap.set('业务量1', true)
legSelectedMap.set('业务量2', false)
legSelectedMap.set('业务量3', false)

console.log([...legSelectedMap.entries()]);
// 输出:Array [Array ["业务量1", true], Array ["业务量2", false], Array ["业务量3", false]]
let legSelected = [...legSelectedMap.entries()].reduce((obj, [key, value]) => (obj[key] = value, obj), {})

console.log(legSelected); // 输出:Object { 业务量1: true, 业务量2: false, 业务量3: false }

二、Golang

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

// 随机数
// 1.rand.Intn() 函数是伪随机函数,因为它默认的资源是单一值,所以无论运行多少次都只会返回相同的随机数
// 2.如果需要每次运行产生不同的序列,须使用Seed函数初始化,且传入一个变化的值作为参数,如time.Now().Unix()
rand.Seed(time.Now().Unix()) // 初始化随机数的资源库, 如果不执行这行, 不管运行多少次都返回同样的值
accountNo := "prefix_str" + strconv.Itoa(rand.Intn(max - min) + min)  // 前缀为prefix_str的随机字符串
fmt.Println("Hello accountNo", accountNo)

// UnixNano() 
// 将t表示为Unix时间,从时间点January 1, 1970 UTC到时间点t所经过的时间(单位纳秒).如果纳秒为单位的unix时间超出了int64能表示的范围,结果是未定义的。意味着Time零值调用UnixNano方法的话,结果是未定义的
// 在windows下,rand.Seed(time.Now().UnixNano())作为种子,得出的随机数并不随机

最后, 希望大家早日实现:成为编程高手的伟大梦想!
欢迎交流~

微信公众号

本文版权归原作者曜灵所有!未经允许,严禁转载!对非法转载者, 原作者保留采用法律手段追究的权利!
若需转载,请联系微信公众号:连先生有猫病,可获取作者联系方式!