MST

星途 面试题库

面试题:Go语言中如何通过控制结构优化循环代码的可读性

在Go语言里,给定一个需求,从一个整数切片中找出所有偶数,并将其平方后存入新切片。请写出实现代码,并阐述如何通过控制结构(如for循环的不同写法等)来优化这段代码的可读性。
50.5万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import "fmt"

func findAndSquareEvenNumbers(nums []int) []int {
    var result []int
    for _, num := range nums {
        if num%2 == 0 {
            result = append(result, num*num)
        }
    }
    return result
}

优化可读性的方式

  1. 使用range循环:在Go语言中,使用range循环遍历切片比起传统的for循环(通过索引遍历)更为简洁。for _, num := range nums这种写法直接获取切片中的元素值,无需手动管理索引,使得代码更聚焦于业务逻辑,即判断是否为偶数并平方。如果使用传统for循环通过索引遍历,代码会增加管理索引变量的复杂度,降低可读性,如for i := 0; i < len(nums); i++
  2. 独立函数封装:将核心逻辑封装在一个独立的函数findAndSquareEvenNumbers中,使得代码结构更清晰,调用者可以直观地理解该函数的功能是从切片中找出偶数并平方,而不需要关心具体实现细节。如果不封装,代码会显得冗长且逻辑不清晰,尤其是在更大的项目中。