首页 > 代码库 > Go Walk教程 - 流程控制( switch)
Go Walk教程 - 流程控制( switch)
Go的 switch 非常灵活,表达式不必是常量或整数,执行的过程从上至下,直到找到匹配项,不要break;
var score =98 var result string switch score/10 { case 9,10:result="优秀" case 8:result="良好" case 6,7:result="及格" default:result="不及格" }
switch 后面的表达式甚至不是必需的
var score =-1 var result string switch { case score<0:result="负数" case score=0:result="零" case score>0:result="正数" }
利子:
package main import ( "log" ) import ( "github.com/lxn/walk" . "github.com/lxn/walk/declarative" ) var le *walk.LineEdit var sport,maths,english *walk.RadioButton func main() { if _, err := MainWindow1.Run(); err != nil { log.Fatal(err) } log.Fatal(Bind("enabledCB.Checked")) } var MainWindow1=MainWindow{ Title: "MainWindow", MinSize: Size{300, 200}, Layout: VBox{}, Children: widget, } var widget=[]Widget{ LineEdit1, RadioButtonSport, RadioButtonMaths, RadioButtonEnglish, PushButtonOK, } var LineEdit1=LineEdit{ AssignTo: &le, } var RadioButtonSport=RadioButton{ AssignTo: &sport, Text: "体育系", } var RadioButtonMaths=RadioButton{ AssignTo: &maths, Text: "数学系", } var RadioButtonEnglish=RadioButton{ AssignTo: &english, Text: "英语系", } var PushButtonOK=PushButton{ Text: "OK", OnClicked:OK_Clicked, } func OK_Clicked(){ switch { case english.Checked(): le.SetText("英语系") case sport.Checked(): le.SetText("体育系") case maths.Checked(): le.SetText("数学系") } }
RadioButton为单选按钮,可以分组,
radiobuttongroup和radiobuttongroupbox
Go Walk教程 - 流程控制( switch)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。