我对编程非常陌生,并希望尝试编写一个简单的程序,最终目的是编写一个简短的程序来评估从一副牌中抽出的手。
我想检查我对Fisher-Yates shuffle的实现是否按预期工作,所以我想打印切片abc的输出;然而,当我编译并运行此代码时,我得到的唯一输出是" Hello World!"而且我不确定为什么从阅读其他例子和Tour of Go看起来,至少第一个Println声明应该起作用。
我觉得我错过了一些相当基本的东西。
// Test project main.go
package main
import (
"math/rand"
"fmt"
"time"
)
func shuffle(deck []string, totalCards int) []string {
rand.Seed(time.Now().UnixNano())
for i := len(deck) -1; i >= 1; i-- {
j := rand.Intn(i+1)
deck[i], deck[j] = deck[j], deck[i]
}
return deck[0:totalCards-1]
}
func main() {
abc := []string{"a", "b", "c"}
fmt.Println(abc)
abc = shuffle(abc, 3)
fmt.Println(abc)
fmt.Println("Hello World!")
}