MST

星途 面试题库

面试题:Go语言类型断言错误处理在复杂结构中的应用

假设有一个接口类型的切片`interface{}`,其中可能包含多种类型的数据。编写一个函数,遍历该切片,对每个元素进行类型断言为`int`类型,并正确处理类型断言失败的情况,将成功断言出的`int`类型数据累加并返回结果。
22.9万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import "fmt"

func sumInts(slice []interface{}) int {
    sum := 0
    for _, v := range slice {
        if num, ok := v.(int); ok {
            sum += num
        }
    }
    return sum
}

你可以使用以下方式调用这个函数:

func main() {
    var data []interface{}
    data = append(data, 1, "two", 3, 4.5, 5)
    result := sumInts(data)
    fmt.Println(result) 
}