返回顶部

收藏

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-04-21 07:00:00 深入Go语言网络库的基础实现
  4. 无闻 发表 2014-01-16 07:00:00 《Go编程基础》视频教程
  5. 无闻 发表 2014-01-29 17:53:00 《Go Web基础》视频教程
  6. 博主 发表 2011-10-20 16:00:00 PHP Extension开发基础
  7. polaris 发表 2013-01-27 14:12:44 Go加密解密之AES
  8. noreply@blogger.com 发表 2013-03-06 17:30:00 Two recent Go articles
  9. noreply@blogger.com 发表 2013-05-14 02:51:15 Go 1.1 is released
  10. 博主 发表 2013-06-15 20:33:32 CloudStack云基础架构的一些概念
  11. Andrew Gerrand 发表 2013-06-12 11:00:00 Go and the Google Cloud Platform
  12. 博主 发表 2012-12-10 16:00:00 Go 语言的错误处理机制

发表评论