Q1:求一段代码的运行时长
func test03() {
str := " "
for i := 0; i < 100000; i++{
str += "hello" + strconv.Itoa(i)
}
}
func main() {
var start int64 = time.Now().UnixNano()
test03()
var end int64 = time.Now().UnixNano()
fmt.Println(end - start)
}
Q2:说明:编写一个函数 fbn(n int) ,要求完成
- 可以接收一个 n int
- 能够将斐波那契的数列放到切片中
- 提示, 斐波那契的数列形式:
arr[0] = 1; arr[1] = 1; arr[2]=2; arr[3] = 3; arr[4]=5; arr[5]=8
func fbn(n int) ([]uint64) {
fbnq := make([]uint64, n)
fbnq[0] =11
fbnq[1] = 1
for i := 2; i<n; i++{
fbnq[i] = fbnq[i-1] + fbnq[i-2]
}
return fbnq
}
func main() {
fbnq := fbn(20)
fmt.Println(fbnq)
}
Q3
1)使用 map[string]map[string]sting map 类型
2) key: 表示用户名,是唯一的,不可以重复
3) 如果某个用户名存在,就将其密码修改"888888",如果不存在就增加这个用户信息,(包括昵称
nickname 和 密码 pwd)。
4) 编写一个函数 modifyUser(users map[string]map[string]sting, name string) 完成上述功能
package main
import
(
"fmt"
//"time"
//"math/rand"
)
func modifyUser(users map[string]map[string]string, name string){
if users[name] != nil{
users[name]["pwd"] = "8888888"
} else {
users[name] = make(map[string]string,2)
users[name]["pwd"] = "888888"
users[name]["nickname"] = "nicheng" +name
}
}
func main(){
users := make(map[string]map[string]string,10)
users["smith"] = make(map[string]string,2)
users["smith"]["pwd"] ="999999"
users["smith"]["nickname"] = "浩波"
modifyUser(users,"tom")
modifyUser(users,"mary")
modifyUser(users,"smith")
fmt.Println(users)
}