用go语言写一段有趣的代码
时间: 2023-09-19 16:05:46 浏览: 157
### 回答1:
我可以给你示例一段使用Go语言编写的有趣代码:package main
import "fmt"
func main() {
fmt.Println("Hello, 世界!")
}
### 回答2:
下面是一个用Go语言写的有趣代码片段,它能生成一个随机密码,并检查口令的强度。
```go
package main
import (
"fmt"
"math/rand"
"time"
)
const (
uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lowercaseLetters = "abcdefghijklmnopqrstuvwxyz"
numbers = "0123456789"
specialChars = "!@#$%^&*()_+{}[]|:;<>,.?~"
)
func main() {
rand.Seed(time.Now().UnixNano())
password := generatePassword(10)
strength := checkPasswordStrength(password)
fmt.Println("随机生成的密码:", password)
fmt.Println("密码强度:", strength)
}
func generatePassword(length int) string {
characters := uppercaseLetters + lowercaseLetters + numbers + specialChars
password := make([]byte, length)
for i := range password {
password[i] = characters[rand.Intn(len(characters))]
}
return string(password)
}
func checkPasswordStrength(password string) string {
strength := 0
if len(password) >= 8 {
strength++
}
if containsUpperCase(password) {
strength++
}
if containsLowerCase(password) {
strength++
}
if containsNumber(password) {
strength++
}
if containsSpecialChar(password) {
strength++
}
switch strength {
case 0:
return "非常弱"
case 1:
return "弱"
case 2:
return "一般"
case 3:
return "强"
case 4:
return "非常强"
default:
return "未知"
}
}
func containsUpperCase(password string) bool {
for _, char := range password {
if char >= 'A' && char <= 'Z' {
return true
}
}
return false
}
func containsLowerCase(password string) bool {
for _, char := range password {
if char >= 'a' && char <= 'z' {
return true
}
}
return false
}
func containsNumber(password string) bool {
for _, char := range password {
if char >= '0' && char <= '9' {
return true
}
}
return false
}
func containsSpecialChar(password string) bool {
for _, char := range password {
if char >= 33 && char <= 47 {
return true
}
}
return false
}
```
以上代码会生成一个长度为10的随机密码,并根据密码中包含的字符类型(大写字母、小写字母、数字和特殊字符)判断密码的强度。输出将显示所生成的随机密码和其强度等级(非常弱,弱,一般,强或非常强)。
### 回答3:
以下是用Go语言写的一段有趣的代码:
```go
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
rand.Seed(time.Now().UnixNano())
answers := []string{
"一定是的",
"不可能",
"看情况吧",
"前途光明",
"还需努力",
}
question := "你今天能够成功吗?"
fmt.Println("问题:", question)
time.Sleep(1 * time.Second)
fmt.Print("思考中")
for i := 0; i < 5; i++ {
fmt.Print(".")
time.Sleep(500 * time.Millisecond)
}
fmt.Println()
answerIndex := rand.Intn(len(answers))
answer := answers[answerIndex]
fmt.Println("答案:", answer)
}
```
这段代码实现了一个简单的“答题游戏”。程序会随机选择一个答案,每次运行的结果可能会不同。首先,程序会展示一个问题,然后通过一段时间的演示思考过程,最后给出答案。代码中的`answers`是一组可能的答案,`question`是问题,通过使用随机数生成器得到一个随机的答案。这段代码引入了Go语言的时间、随机数和字符串处理等知识点,同时也能够带给用户一些乐趣。
阅读全文