用Go 写一个登录函数 要求若成功返回 登录成功 不成功返回错误
时间: 2023-08-31 12:40:21 浏览: 47
### 回答1:
以下是一个示例的登录函数实现,使用了一个假的用户信息列表users:
```go
type User struct {
username string
password string
}
var users = []User{
{"user1", "password1"},
{"user2", "password2"},
}
func Login(username string, password string) (string, error) {
for _, user := range users {
if user.username == username && user.password == password {
return "登录成功", nil
}
}
return "", errors.New("用户名或密码错误")
}
```
这个函数接受两个参数:用户名和密码。它会遍历用户信息列表,查找是否有匹配的用户和密码。如果找到了,则返回 "登录成功" 和 nil 错误。如果没有找到,则返回一个空字符串和一个新的错误,描述用户名或密码错误。
### 回答2:
可以使用以下代码来编写一个登录函数:
```go
package main
import "fmt"
func login(username, password string) (string, error) {
// 假设正确的用户名为 "admin",密码为 "password123"
if username == "admin" && password == "password123" {
return "登录成功", nil
} else {
return "", fmt.Errorf("登录失败,请检查用户名和密码")
}
}
func main() {
// 测试登录函数
username := "admin"
password := "password123"
result, err := login(username, password)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(result)
}
}
```
在此示例中,`login` 函数接受用户名和密码作为输入,如果用户名和密码与预设的正确值匹配,函数会返回字符串 "登录成功" 和 `nil` 错误。否则,函数会返回一个错误,并提示登录失败。
在 `main` 函数中,我们使用正确的用户名和密码进行测试。如果调用 `login` 函数返回错误,我们将错误信息打印出来;如果调用成功,我们将成功信息打印出来。
运行该程序,将输出 "登录成功",表示登录函数执行成功。
### 回答3:
以下是一个使用Go编写的登录函数的示例代码:
```go
package main
import (
"errors"
"fmt"
)
func login(username, password string) (string, error) {
// 假设要登录的用户名和密码是 "admin" 和 "password"
// 实际应用中应该将用户名和密码与存储在数据库或其他存储介质中的凭据进行比对
if username == "admin" && password == "password" {
return "登录成功", nil
}
return "", errors.New("登录失败,用户名或密码错误")
}
func main() {
username := "admin"
password := "password"
message, err := login(username, password)
if err != nil {
fmt.Println("登录失败:", err.Error())
} else {
fmt.Println("登录成功:", message)
}
}
```
上面的代码定义了一个名为`login`的函数,在函数中对传入的用户名和密码进行比对。如果用户名和密码与预设的值相匹配,则函数返回"登录成功"的消息和`nil`的错误。如果用户名或密码不匹配,则返回空字符串和相应的错误信息。
在`main`函数中,我们调用`login`函数并根据返回的错误信息进行判断。如果有错误,则输出错误信息,表示登录失败。如果没有错误,则输出登录成功的消息。