•  
  • Go言語(Golang)(2015年8月5日)

    import

    下記のようにカッコでくくることも出来る。

    import (
        "container/list"
        "fmt"
    )
    

    構造体

    構造体は、「type XXXXX struct」。変数とその宣言はc言語等と逆。actionscriptと同じ。

    type CELL struct {
        index   int
        data    string
    }
    

    関数

    関数は「func」になる。この場合、戻り値の型は「*list.Element」

    func SearchCELLbyData(l *list.List, data string) *list.Element {
        for v := l.Front(); v != nil; v = v.Next() {
            if v.Value.(*CELL).data == data {
                return v
            }
        }
        return nil
    }
    

    List

    リストに構造体を入れてその構造体にアクセスする場合は、「v.Value.(*CELL).data」というような感じになる。

    package main
    
    // go build helloworld.go
    
    import (
        "container/list"
        "fmt"
    )
    
    
    type CELL struct {
        index   int
        data    string
    }
    
    func NewCELL(index int, data string) *CELL {
        if index < 0 {
            return nil
        }
        f := CELL{index, data}
        return &f
    }
    
    func SearchCELLbyData(l *list.List, data string) *list.Element {
        for v := l.Front(); v != nil; v = v.Next() {
            if v.Value.(*CELL).data == data {
                return v
            }
        }
        return nil
    }
    
    func main() {
        l := list.New()
    
        l.PushBack( NewCELL( 1, "Apple000" ) )
        l.PushBack( NewCELL( 2, "Apple001" ) )
        l.PushBack( NewCELL( 3, "Apple002" ) )
        l.PushBack( NewCELL( 4, "Apple003" ) )
        l.PushBack( NewCELL( 5, "Apple004" ) )
        l.PushBack( NewCELL( 6, "Apple005" ) )
    
        rc := SearchCELLbyData(l, "Apple001")
        fmt.Printf("%v\n", rc.Value.(*CELL) )
        l.Remove( rc )
    //  uniquify(l)
        for e := l.Front(); e != nil; e = e.Next() {
            ee := e.Value.(*CELL)
            fmt.Printf("%v\n", ee.index)
            fmt.Printf("%v\n", ee.data)
        }
    }
    

    Copyright (C) Template002 All Rights Reserved. The template making ホームページ作成Hac Web Design.

     

    カウンター by  HomePage Counter

     

    inserted by FC2 system