美文网首页
使用Go 练习写一个登陆注册

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

作者: 刘xin_8 | 来源:发表于2020-08-20 11:15 被阅读0次

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

    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()
    }
    

    相关文章

      网友评论

          本文标题:使用Go 练习写一个登陆注册

          本文链接:https://www.haomeiwen.com/subject/vzdsjktx.html