任意数据类型切片 golang

本文探讨了如何在Golang中操作任意数据类型的切片,包括创建、遍历和转换等关键操作,揭示了Go语言在处理不同类型切片时的灵活性和强类型特性。
摘要由CSDN通过智能技术生成

package main

import (
	"fmt"
	. "strconv"
)

type Element interface{}
type List []Element

type Person struct {
	name string
	age  int
}

func (P Person) String() string {
	return "My name is " + P.name + " my age is " + Itoa(P.age)
}

var slice_1 = []string{"hello"}
var map_1 = map[string]string{"city": "beijing", "name": "cs", "from": "usa"}

func main() {

	list := make(List, 5)
	list[0] = 1                    // an int
	list[1] = "Hello"              // a string
	list[2] = Person{"barry", 100} // struct
	list[3] = slice_1              // a slice
	list[4] = map_1                // a map

	for _, element := range list {
		switch v:=element.(type) { //v是具体的值对象了,而element还是interface对象
		case int:
			fmt.Println(element, ",int")
		case string:
			fmt.Println(element, ",str
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值