【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)
}
相关推荐
止语Lab1 小时前
Go GC 十年:一部延迟战争史
golang
阿里加多1 小时前
第 1 章:Go 并发编程概述
java·开发语言·数据库·spring·golang
zs宝来了6 小时前
etcd Raft 实现:分布式一致性核心原理
golang·go·后端技术
呆萌很6 小时前
【GO】为任意类型添加方法练习题
golang
geovindu8 小时前
go: Simple Factory Pattern
开发语言·后端·设计模式·golang·简单工厂模式
亿牛云爬虫专家8 小时前
生产级Go高并发爬虫实战:突破 net_http 长连接与隧道代理IP切换陷阱
爬虫·http·golang·代理ip·keepalive·隧道代理·https connect
阿里加多9 小时前
第 5 章:Go 内存模型与 Happens-Before 原则
开发语言·后端·golang
止语Lab10 小时前
从一行超时配置到分布式可观测性——Go HTTP服务的渐进式演进实战
分布式·http·golang
GDAL11 小时前
gin.Default() 深入全面讲解
golang·go·gin
hrhcode11 小时前
【java工程师快速上手go】三.Go Web开发(Gin框架)
java·spring boot·golang