べすとえふぉーと

プログラミング等のノート 

Go 使い方メモ スライス マップ

package main

import (
    "fmt"
)

func doubl(valueary []int) {
    for i:=0; i< len(valueary); i++ {
        valueary[i] *= 2
    }
}

func main() {

    strary := [5]string{"a","b","c","d","e"}
    
    var slc1 []string
    
    slc1 = strary[:]
    fmt.Println(slc1)
    slc2 := strary[1:4]
    fmt.Println(slc2)
    slc3 := strary[3:]
    fmt.Println(slc3)
    slc4 := strary[:4]
    fmt.Println(slc4)
    
    vals := [...]int{0,1,2,3,4}
    doubl(vals[:])
    fmt.Println(vals)

    sla1 := []int{1,2,3}
    sla2 := append(sla1,4,5)
    sla3 := append(sla2,sla1...)
    fmt.Println(sla3)

    var byt1 []byte
    byt2 := append(byt1,"abc"...)
    fmt.Println(byt2)

    mapvl := make(map[string]string)
    mapvl["001"] = "test1"
    mapvl["002"] = "test2"
    fmt.Println(mapvl["001"])
    fmt.Println(mapvl["002"])

}

チキンカレーのレシピ

    • 材料(2人前)

玉ねぎ 1個(みじん切り)
ピーマン 1個(みじん切り)
にんにく 1片(みじん切り)
しょうが 1片(みじん切り)

カレー粉 大さじ1.5
ヨーグルト 大さじ4
鶏むね肉 200g

水 400ml
野菜ジュース トマトベース
カレールー 大さじ5〜7(井上スパイス工業の甘口)
しょうゆ 大さじ1
ケチャップ 大さじ2

    • 作り方

(1) 鶏肉を切ってヨーグルトに入れて、カレー粉と混ぜる
(2) 玉ねぎを茶色になるまで炒める
(3) にんにく、しょうが、ピーマンを炒める
(4) 鶏肉を炒める
(5) 水400ml 野菜ジュースを入れる
(6) 中火でアクを取りながら15分〜20分煮込む
(7) ルーを入れて弱火、ケチャップ・しょうゆを入れる

Go 使い方メモ インタフェース

package main

import "fmt"

type Calc interface {
    Calc(x int, y int) int
}

type Add struct {

}

func (r Add) Calc(x int, y int) int{
    return x + y
}

type Sub struct {

}

func (r Sub) Calc(x int, y int) int{
    return x - y
}

func main() {
    var add Add
    var sub Sub

    var cal Calc

    cal = add
    fmt.Println("plus:",cal.Calc(1,2))

    cal = sub
    fmt.Println("minus:",cal.Calc(4,3))

}

Go 使い方メモ 2

package main

import (
    "fmt"
)

type myType int

func for_range(array []int) {
    for i := range array {
        if i % 2 == 0 && array[i] % 2 == 0 { 
            fmt.Println(array[i])
        }
    }
}

func (value myType) printmethod() {
    fmt.Println(value)
}

func (value *myType) setfrompointer(newval myType) {
    *value = newval
}

func (value *myType) addval(incval myType) myType {
    *value += incval
    return *value
}

func main() {
    argarray := []int{1,2,4,5,7,8}
    for_range(argarray)
    fmt.Println(" ")
    
    var z myType = 123
    z.printmethod()
    z.setfrompointer(45)
    z.printmethod()
    z.addval(3)
    z.printmethod()
    fmt.Println(" ")

}

Go 使い方メモ 1

package main

import (
    "strconv"
    "fmt"
)

type struct_test struct {
    X int
    Y int
}

func add(x int,y int) int {
    return x + y
}

func add_minus(x, y int)(string,string) {
    addval := x + y
    minusval := x - y
    return strconv.Itoa(addval),strconv.Itoa(minusval)
}

func isminus(x int) bool {
    retbool := false
    if x < 0 {
        retbool = true
    }
    return retbool
}


func add_for(x,loop int)(result int) {
    var sum = 0
    for i := 0; i < loop;i++ {
        sum = sum + x
    }
    return sum
}

func to_byte(targetstr string) []byte {
    return []byte(targetstr)
}

func main() {
    retadd := add(1,3)
    fmt.Println(retadd)
    fmt.Println(" ")

    retplus,retminus := add_minus(10,5)
    fmt.Println(retplus)
    fmt.Println(retminus)
    fmt.Println(" ")

    strct1 := struct_test{3,4}
    strct1.X = 5
    fmt.Println(strct1.X , strct1.Y)
    strct1.Y += 3
    fmt.Println(strct1.X , strct1.Y)
    p := &strct1
    p.X = 30
    fmt.Println(strct1.X , strct1.Y)
    fmt.Println(" ")

    var retfor = add_for(2,10)
    fmt.Println(retfor)
    fmt.Println(" ")
    
    var retbs []byte = to_byte("テスト")
    fmt.Println(string(retbs))
    fmt.Println(len(retbs))
    fmt.Println(" ")

    retbl := isminus(-10)
    fmt.Println(retbl)
    fmt.Println(" ")

}

OpenShiftでmysqlのバックアップ・アップロード

ログインしてmysqldump実行

rhc ssh -a $APPNAME

mysqldump -h $HOST -p $HOST -u $USER --password=$PASSWORD $APPNAME > /sandbox/backup.sql

exit

※$HOSTはphpmyadminで確認

ダウンロード

rhc scp $APPNAME download /$SAVE_LOCAL_PATH /sandbox/backup.sql

アップロードとリストア

rhc scp $APPNAME upload /$SAVE_LOCAL_PATH/restore.sql /sandbox/restore.sql

mysql -u $USER -p$PASS redmine < /sandbox/restore.sql