情况:0 L; P! c7 w1 L e, w0 o2 J! `
我有一个值,需要随机选择一个值。然后我想用一个固定的字符串连接它。到目前为止,这是我的代码: 7 o. l0 F1 `1 O' A! k/ b
func main()create the reasons slice and append reasons to itreasons := make([]string,0)reasons = append(reasons, "Locked out", "ipes broke", "Food poisoning", "Not feeling well")message := fmt.Sprint("Gonna work from home...",pick a random reason )}/ W9 [# a0 L4 z! V
问题:, E0 Q* b+ l' W9 W" X0 n/ K. e' Y
是否有内置函数可以通过执行来执行选择随机原因部分来帮我? 2 n$ _8 {( S: v$ B : e& ^4 K8 i8 Q" W4 I解决方案: " k8 C$ R5 p3 b 使用功能,Intn从rand在包中选择随机指数。, |1 H6 n6 K7 ^) K1 U
import ( "math/rand" "time")// ...rand.Seed(time.Now().Unix() // initialize global pseudo random generatormessage := fmt.Sprint("Gonna work from home...",reasons[rand.Intn(len(reasons))]) , ?. q- h3 E% u9 m" H
使用其他解决方案Rand对象。 * Z. i- Q% w+ }$ ^% i$ R2 d
s := rand.NewSource(time.Now().Unix())r := rand.New(s) // initialize local pseudorandom generator r.Intn(len(reasons)), k) w4 _1 f! m8 w; d$ j