返回顶部

收藏

go语言的list

更多
package main

import (
    "fmt"
    "strconv"
)

type Element interface{}
type List []Element

type Person struct {
    name string
    age  int
}

//打印
func (p Person) String() string {   
    return "(name: " + p.name + " - age: " + strconv.Itoa(p.age) + " years)"
}

func main() {
    list := make(List, 3)
    list[0] = 1       //an int
    list[1] = "Hello" //a string
    list[2] = Person{"Dennis", 70}

    for index, element := range list {
        switch value := element.(type) {
        case int:
            fmt.Printf("list[%d] is an int and its value is %d\\n", index, value)
        case string:
            fmt.Printf("list[%d] is a string and its value is %s\\n", index, value)
        case Person:
            fmt.Printf("list[%d] is a Person and its value is %s\\n", index, value)
        default:
            fmt.Println("list[%d] is of a different type", index)
        }
    }
}
//该片段来自于http://outofmemory.cn

标签:go,基础

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 无闻 发表 2014-01-16 07:00:00 《Go编程基础》视频教程
  2. 无闻 发表 2014-01-29 17:53:00 《Go Web基础》视频教程
  3. 无闻 发表 2014-01-16 07:00:00 《Go编程基础》视频教程
  4. 无闻 发表 2014-01-29 17:53:00 《Go Web基础》视频教程
  5. 博主 发表 2014-04-21 07:00:00 深入Go语言网络库的基础实现
  6. mikespook 发表 2013-02-19 13:42:08 [翻译] Go(#golang) 实现的状态机
  7. noreply@blogger.com 发表 2013-01-23 17:30:00 go fmt your code
  8. mikespook 发表 2013-05-06 15:02:28 [翻译]绝妙的 channel
  9. chinakr 发表 2013-06-14 17:16:29 用 golang 写了一个 CMS
  10. blacktulip 发表 2013-06-25 11:31:57 计算机科学基础
  11. 博主 发表 2010-06-29 07:00:00 如何写 Go 代码?
  12. 博主 发表 2013-08-20 21:14:02 JVM分代垃圾回收策略的基础概念

发表评论