【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)
}
相关推荐
会编程的土豆6 小时前
由c/c++速通go语言,新手必看
c语言·c++·golang
念何架构之路11 小时前
Go Socket编程
开发语言·后端·golang
codeejun13 小时前
每日一Go-59、云原生入门为什么一定要学Docker?
docker·云原生·golang
初心未改HD14 小时前
gRPC 与 Protobuf 实战指南
开发语言·golang
jieyucx14 小时前
Go语言切片:动态灵活的数据序列
算法·golang·指针·顺序表·数组·结构体·切片
初心未改HD16 小时前
Go 文件与 I/O 操作完全指南
开发语言·golang
geovindu1 天前
go: Mediator Pattern
设计模式·golang·中介者模式
研究点啥好呢2 天前
滴滴Go后端开发工程师面试题精选:10道高频考题+答案解析
java·开发语言·golang
NEGl DRYN2 天前
Go基础之环境搭建
开发语言·后端·golang
初心未改HD2 天前
Go Modules:依赖管理的完全指南
开发语言·golang