2017-12-26 12 views
1

私は以下のコードを持っています。私は、時間形式に文字列値から変換しようとして値を代入し、ラインなしで以下のエラーで失敗しています:GOで文字列値を時間形式に割り当てる方法は?

cannot assign time.Time to psdvalue (type string) in multiple assignment 

コード:あなたは両方が値を返さ取らなければならない

type Tracking struct { 
    release_name  string 
    planned_start_date time.Time 
} 

const layout = "01-02-2006" 

func saveHandler(response http.ResponseWriter, request *http.Request) { 

    releasevalue := request.FormValue("ReleaseName") 
    psdvalue := request.FormValue("PSD") 

    if len(strings.TrimSpace(psdvalue)) > 0 { 
     //line no:    psdvalue, _ = time.Parse(layout, psdvalue) 
    } 

    array = append(array, Tracking{ 
     release_name:  releasevalue, 
     planned_start_date: psdvalue, 
    }) 

} 

答えて

1

time.Parse時間を返します。エラーです。 "PSD"のFormValueを割り当てたときに文字列部分をpdsvalueに割り当てています。これは既に文字列として宣言されています。したがって、psdvalueは既に文字列型であり、time.Time値を割り当てることはできません。代入に別の変数名を使用してください(エラーを飲み込まないでください)。

2

psdvalueを別のものに変更すると、2つのタイプに同じvarを使用しているためにエラーが発生します。ここで確認してください - またhttps://play.golang.org/p/Z8_--GluMoP

package main 

import (
    "fmt" 
    "time" 
) 

func main() { 
    layout := "01-02-2006" 
    psdvalue := "04-04-2004" 
    parsed, err := time.Parse(layout, psdvalue) 
    if err != nil { 
     panic(err) 
    } 
    fmt.Printf("%v", parsed) 
} 

、解析関数のエラーを処理することを忘れないでください。

+0

ありがとうございました。出来た – sheik

関連する問題