老师您好!在条件if语句中加的赋值语句,是不是也可以在if语句前面先赋值呢?比如
if v, err := someFunc(); err == nil {
// do something
} else {
// do some other thing
}
写成
v, err := someFunc()
if err == nil {
...}
感觉这样代码好像更清楚些呢?
作者回复: 嗯,两种都是可以的
2020-05-24
3
t7ink
老师 golang里像
while (a > 0 and a < b ) {
do something
}
这样的循环如何实现?
想了一下是不是应该是
for {
if ( a > 0 && a < b) {
do something
}
}
2019-03-08
2
林松
二刷
2022-04-06
1
t7ink
for {
if ( a > 0 && a < b) {
do something
}else {
break
}
}
2019-03-08
1
1
Geek_ad376e
在把case 语句用为if 语句的时候,编写的程序如下
func TestSwitchCaseCondition(t *testing.T) {
for i := 0; i < 5; i++ {
switch i {
case i%2 == 0:
t.Log("Even")
case i%2 == 1:
t.Log("Odd")
default:
t.Log("unknown")
}
}
}
但是运行结果为:
# go-learning/src/ch5/condition_test [go-learning/src/ch5/condition.test]
e:\go-learning\src\ch5\condition\condition_test.go:27:3: cannot use i % 2 == 0 (type untyped bool) as type int
e:\go-learning\src\ch5\condition\condition_test.go:29:3: cannot use i % 2 == 1 (type untyped bool) as type int
FAIL go-learning/src/ch5/condition [build failed]
老师,这是怎么回事
2021-05-20
2
escray
其实我挺喜欢 Go 语言里面只有 for 一种循环关键字,这样就不用想太多,但是没有 foreach 有点可惜。
能感觉到 Go 的语法似乎是吸取了目前现有各种语言的优点,其中当然是有一些取舍和平衡,但是考虑到创建者的资历,我这样的小白只能学习,不能质疑。