【GO】if 语句练习题

登录密码校验

题目描述

用户登录时校验密码长度是否符合要求(至少 8 位)。

  • 定义字符串变量 password = "Go123456"
  • if判断密码长度是否≥8
  • 输出校验结果(符合 / 不符合)

输出示例

密码:Go123456

校验结果:密码长度符合要求

实现代码

Go 复制代码
package main

import (
	"fmt"
)

func main() {
	password := "Go123456"
	fmt.Printf("密码:%s\n", password)

	// 仅用if基础判断
	if len(password) >= 8 {
		fmt.Println("校验结果:密码长度符合要求")
	} else {
		fmt.Println("校验结果:密码长度不符合要求")
	}

}

登录账号校验

题目描述

用户登录系统需同时校验「用户名非空」和「密码长度≥8 且≤16」,满足则登录成功,否则提示具体错误。

  • 定义变量:username = "user001"password = "Go@12345678"
  • if-else结合组合条件(&&/||)判断:
    • 用户名空 → 提示「用户名不能为空」
    • 密码长度 <8 或> 16 → 提示「密码长度需 8-16 位」
    • 全部满足 → 提示「登录成功」

输出示例

用户名:user001,密码:Go@12345678

登录结果:登录成功

实现代码

Go 复制代码
package main

import (
	"fmt"
	"len"
)

func main() {
	// 定义登录信息
	username := "user001"
	password := "Go@12345678"
	fmt.Printf("用户名:%s,密码:%s\n", username, password)

	// 组合条件判断
	if username == "" {
		fmt.Println("登录结果:用户名不能为空")
	} else if len(password) < 8 || len(password) > 16 {
		fmt.Println("登录结果:密码长度需8-16位")
	} else {
		fmt.Println("登录结果:登录成功")
	}
}

会员等级判定

题目描述

电商会员等级规则:

  • 消费金额≥10000 元 → 钻石会员
  • 5000≤金额 < 10000 → 黄金会员
  • 1000≤金额 < 5000 → 白银会员
  • 金额 < 1000 → 普通会员

输出示例

累计消费金额:8888.5元

会员等级:黄金会员

实现代码

Go 复制代码
package main

import "fmt"

func main() {
	// 定义消费金额
	consumeAmount := 8888.5
	fmt.Printf("累计消费金额:%.1f元\n", consumeAmount)

	// 多分支区间判断会员等级
	var level string
	if consumeAmount >= 10000 {
		level = "钻石会员"
	} else if consumeAmount >= 5000 {
		level = "黄金会员"
	} else if consumeAmount >= 1000 {
		level = "白银会员"
	} else {
		level = "普通会员"
	}

	fmt.Printf("会员等级:%s\n", level)
}

购物折扣计算

题目描述

编写一个程序,根据会员等级和购物金额计算最终付款金额:

  • 普通会员:满100元打9折

  • 黄金会员:满100元打8折,满200元打7折

  • 钻石会员:直接打7折,满300元再减50元

输入示例

请输入会员等级(普通/黄金/钻石):黄金

请输入购物金额:250

输出示例

最终付款金额:175.0元

实现代码

Go 复制代码
package main

import (
	"fmt"
)

func main() {
	// 定义变量存储会员等级和购物金额
	var level string
	var amount float64

	// 获取用户输入
	fmt.Print("请输入会员等级(普通/黄金/钻石):")
	fmt.Scan(&level)
	fmt.Print("请输入购物金额:")
	fmt.Scan(&amount)

	// 定义变量存储最终付款金额
	var finalAmount float64

	// 根据会员等级和金额计算折扣
	if level == "普通" {
		// 普通会员:满100元打9折
		if amount >= 100 {
			finalAmount = amount * 0.9
		} else {
			finalAmount = amount
		}
	} else if level == "黄金" {
		// 黄金会员:满100元8折,满200元7折
		if amount >= 200 {
			finalAmount = amount * 0.7
		} else if amount >= 100 {
			finalAmount = amount * 0.8
		} else {
			finalAmount = amount
		}
	} else if level == "钻石" {
		// 钻石会员:直接7折,满300元再减50
		finalAmount = amount * 0.7
		if amount >= 300 {
			finalAmount -= 50
		}
	} else {
		// 无效会员等级
		fmt.Println("错误:会员等级输入有误!")
		return
	}

	// 输出最终结果(保留1位小数)
	fmt.Printf("最终付款金额:%.1f元\n", finalAmount)
}
相关推荐
lars_lhuan2 小时前
Go Mutex
golang
人间打气筒(Ada)3 小时前
如何使用 Go 更好地开发并发程序?
开发语言·后端·golang
yuanlaile3 小时前
Go-Zero高性能Web+微服务全集解析
微服务·golang·go-zero·go微服务
呆萌很5 小时前
【GO】for 循环练习题
golang
F1FJJ5 小时前
开源实践:用 Go 实现浏览器直连内网 RDP/SSH/VNC
运维·网络·网络协议·网络安全·golang·ssh
呆萌很6 小时前
【GO】switch 练习题
golang
添尹19 小时前
Go语言基础之变量和常量
golang
参.商.1 天前
【Day43】49. 字母异位词分组
leetcode·golang
参.商.1 天前
【Day45】647. 回文子串 5. 最长回文子串
leetcode·golang