以下是一道Go语言控制流程面试样题及详细回答:
题目:给定一个整数n,输出从1到n的所有奇数。
解题思路:可以使用for循环和if语句来实现。首先使用for循环遍历从1到n的所有整数,然后使用if语句判断当前整数是否为奇数,如果是则输出。
代码实现:
func printOddNumbers(n int) {
for i := 1; i <= n; i++ {
if i%2 == 1 {
fmt.Println(i)
}
}
}
解释:首先使用for循环遍历从1到n的所有整数,然后使用if语句判断当前整数是否为奇数,如果是则使用fmt.Println函数输出。
注意事项:在面试中,需要注意代码的可读性和健壮性,例如对于输入为负数的情况需要进行特判。同时也需要注意代码的效率和性能,例如可以使用位运算来判断奇偶性,提高代码的执行效率。