Go 多分支基本使用及其细节

多分支

  • 基本语法
if 条件表达式1{
        执行代码块1
}else if{
        执行代码块2
}
...
else{
        执行代码块n
}
  • 说明:
    • 多分支的判断流程如下:
      • 先判断条件表达式 1 是否成立,如果为真,就执行代码块 1
      • 如果条件表达式 1 如果为假,就去判断条件表达式 2 是否成立
      • 如果条件表达式 2 为真,就执行代码块 2
      • 依次类推如果所有的条件表达式不成立,则执行 else 的语句块
    •  else 不是必须的。
    • 多分支只能有一个执行入口

  • 个多分支的流程图


  • 演示案例
    • 岳小鹏参加 Golang 考试,他和父亲岳不群达成承诺,如果:
      • 成绩为 100 分时,奖励一辆 BMW
      • 成绩为(8099]时,奖励一台 iphone7plus
      • 当成绩为[60,80]时,奖励一个 iPad
      • 其它时,什么奖励也没有。
      • 请从键盘输入岳小鹏的期末成绩,并加以判断
//成绩为 100 分时,奖励一辆 BMW;
//成绩为(80,99]时,奖励一台 iphone7plus;
//当成绩为[60,80]时,奖励一个 iPad;
//其它时,什么奖励也没有。
//请从键盘输入岳小鹏的期末成绩,并加以判断
var score byte
fmt.Println("请输入成绩:")
fmt.Scanln(&score)
	
//多分支判断
if score == 100{
	fmt.Println("奖励一辆 BMW")
}else if score > 80 && score <= 90{
	fmt.Println("奖励一台 iphone7plus")
}else if score >= 60 && score <= 80{
	fmt.Println("奖励一个 iPad")
}else {
	fmt.Println("什么奖励也没有")
}
  • 输出结果:


  • 使用陷阱


多分支应用案例

  • 演示案例1:


  • 演示案例2:

var a float64 = 2.0
var b float64 = 4.0
var c float64 = 2.0

m := b * b - 4 * a * c
//多分支判断
if m > 0 {
	x1 := (-b + math.Sqrt(m)) / 2 * a
	x2 := (-b - math.Sqrt(m)) / 2 * a
	fmt.Printf("x1=%v x2=%v", x1, x2)
} else if m == 0 {
	x1 := (-b + math.Sqrt(m)) / 2 * a
	fmt.Printf("x1=%v", x1)
} else {
	fmt.Println("无解...")
}

  • 演示案例3

//分析思路
//1. 应该设计三个变量 var height int32  | var money float32 | var handsome bool
//2. 而且需要从终端输入 fmt.Scanln
//3. 使用多分支if--else if -- else
var height int32
var money float32
var handsome bool

fmt.Println("请输入身高(厘米)")
fmt.Scanln(&height)
fmt.Println("请输入财富(千万)")
fmt.Scanln(&money)
fmt.Println("请输入是否帅(true/false)")
fmt.Scanln(&handsome)

if height > 180 && money > 1.0 && handsome {
	fmt.Println("我一定要嫁给他!!!")
} else if height > 180 || money > 1.0 || handsome {
	fmt.Println("嫁吧,比上不足,比下有余")
} else {
	fmt.Println("不嫁....")
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Go语言进行GitLab分支合并,需要使用go-git包,该包提供了访问Git存储库的方法。以下是一个简单的示例代码: ```go package main import ( "fmt" "os" "github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5/plumbing/object" "github.com/go-git/go-git/v5/plumbing/transport/http" ) func main() { // 设置GitLab API访问令牌 token := "YOUR_GITLAB_API_TOKEN" // 设置GitLab存储库URL和分支名称 repoURL := "https://gitlab.com/YOUR_GITLAB_USERNAME/YOUR_GITLAB_REPO.git" branchName := "BRANCH_TO_MERGE" // 克隆Git存储库 r, err := git.PlainClone("tmp", false, &git.CloneOptions{ URL: repoURL, Progress: os.Stdout, }) if err != nil { fmt.Println(err) return } // 获取指定分支的引用 ref, err := r.Reference(fmt.Sprintf("refs/heads/%s", branchName), true) if err != nil { fmt.Println(err) return } // 创建一个新的合并请求 mp, err := r.Merge(ref.Hash(), &git.MergeOptions{ Commit: &object.Signature{ Name: "Go GitLab", Email: "go-gitlab@example.com", When: object.Now(), }, }) if err != nil { fmt.Println(err) return } // 推送合并请求 auth := &http.BasicAuth{ Username: "git", Password: token, } err = r.Push(&git.PushOptions{ RemoteName: "origin", Auth: auth, }) if err != nil { fmt.Println(err) return } fmt.Println(mp.String()) } ``` 在上面的示例代码中,我们首先设置了GitLab API访问令牌、GitLab存储库URL和分支名称。然后,我们克隆了Git存储库,并获取了指定分支的引用。接下来,我们创建了一个新的合并请求,并使用API令牌推送了该请求。最后,我们输出了合并请求的字符串表示形式。 请注意,此示例代码仅用于演示目的,实际情况下需要进行错误处理和更多的安全检查。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值