MST

星途 面试题库

面试题:Go语言空接口类型判断在函数参数传递中的应用

编写一个函数 `process`,它接受一个空接口类型的参数。在函数内部,需要判断这个空接口参数是否为 `[]int` 类型,如果是,计算切片中所有整数的和并返回;如果是 `[]string` 类型,返回所有字符串拼接后的结果。若不是这两种类型则返回错误。请给出完整的代码实现。
50.0万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "errors"
    "fmt"
)

func process(i interface{}) (interface{}, error) {
    switch v := i.(type) {
    case []int:
        sum := 0
        for _, num := range v {
            sum += num
        }
        return sum, nil
    case []string:
        result := ""
        for _, str := range v {
            result += str
        }
        return result, nil
    default:
        return nil, errors.New("unsupported type")
    }
}