使用Go 练习写一个登陆注册

2020-08-20  本文已影响0人  刘xin_8

学习一门语言,最重要的就是动手,一个项目的代码写三遍,看起来笨的方法,实际上也是最快的方法。能直接运行看效果,还有一些细节需要完善 留给你们咯

package main

import "fmt"
定义一个结构体 相当于创建一个字典
type FamilyA struct {
    key string
    account string
    password string
    loop bool
}
编写构造方法,返回 *FamilyA实例 类似于初始化
func functions() *FamilyA {
    return &FamilyA{
        key: "",
        account: " ",
        password: " ",
        loop: true,
    }
}
登陆
func (this *FamilyA)login()  {
    for{
        fmt.Println("请输入账号:")
        var account string
        fmt.Scanln(&account)
        if this.account != account {
            fmt.Println("该账号未注册,请去注册!")
            fmt.Println("       1 - 主界面 ")
            fmt.Println("       2 - 注册")
            fmt.Println("请选择(1-2)")
            fmt.Scanln(&this.key)
            switch this.key {
            case "1":
                this.Index()
            case "2":
                this.register()
            }
        } else {
            var pwd string
            fmt.Println("请输入密码: ")
            fmt.Scanln(&pwd)
            if pwd == this.password {
                fmt.Println("登陆成功 OvO ")
                this.index()
                break
            } else {
                fmt.Println("密码错误! ")
            }
        }
    }
}
注册
func (this *FamilyA)register()  {
    fmt.Println("请输入注册账号:")
    var account string
    fmt.Scanln(&account)
    if this.account == account{
        fmt.Println("该账号已注册,请重新输入!")
    } else {
        this.account = account
        fmt.Println("请输入密码:")
        var password string
        fmt.Scanln(&password)
        this.password = password
        fmt.Println("注册成功!")
        fmt.Println("       1 - 主界面 ")
        fmt.Println("       2 - 登陆")
        fmt.Println("请选择(1-2)")
        fmt.Scanln(&this.key)
        switch this.key {
        case "1":
            this.Index()
        case "2":
            this.login()
        }
    }
}
登陆成功后
func (this *FamilyA)index() {
    fmt.Println("欢迎来到主页面!")
}
开始主页
func (this *FamilyA)Index() {
    for {
        fmt.Println("================ 主界面 ================")
        fmt.Println("       1 - 登陆")
        fmt.Println("       2 - 注册")
        fmt.Println("       3 - 忘记密码")
        fmt.Println("       4 - 退出")
        fmt.Println("请选择(1-4)")
        fmt.Scanln(&this.key)
        switch this.key {
        case "1":
            this.login()
        case "2":
            this.register()
        case "4":
            this.loop = false
        default:
            fmt.Println("您的输入不正确,请按提示输入正确的选项..")
        }
        if !this.loop{
            break
        }
    }
}
mian
func main() {
    lo := functions()
    lo.Index()
}
上一篇下一篇

猜你喜欢

热点阅读