2017-08-17 4 views
-5

forループを持つgoコードを作成しました。コードは以下のとおりです。しかし、コードをビルドすると、 'continue is not loop内にあります'というメッセージが表示されます。私はなぜこれが起こっているのか理解できません。下記のリンクでGoエラー:continueはループ内にありません

go version go1.7.5 linux/amd64

完全なコード https://pastebin.com/0ZypMYVK

参照スクリーンショット enter image description here

for k:=0;k < len(args);k++{ 
    fmt.Println("k is ", k) 
    hsCode := args[k] 
    lenChk:=checkHashLen(hsCode) 
    if lenChk==false { 
     fmt.Println("Length should be 32") 
     continue 
    } 
    codeBytes,_ := json.Marshal(hsCode) 

    APIstub.PutState(strconv.FormatInt(makeTimestamp(),10), codeBytes) 
    fmt.Println("Added: ", k)  
} 

エラーenter image description here

:親切

ゴーバージョンを助けます

./hashcode.go:88: continue is not in a loop

+3

おそらくありません。ここに投稿する前にコードをどれくらい変更しましたか? – zerkms

+4

[mcve]を投稿してください。 – bereal

+0

投稿されたコードは投稿されたエラーを引き起こさない。 – Volker

答えて

1

あなたの問題はここにある:

//push single code on the block 
func (s *SmartContract) pushCode(APIstub shim.ChaincodeStubInterface, args []string) sc.Response { 

    hsCode := args[0] 
    lenChk := checkHashLen(hsCode) 
    if lenChk == false { 
     fmt.Println("Length should be 32") 
     continue 
    } 
    codeBytes, _ := json.Marshal(hsCode) 
    APIstub.PutState(strconv.FormatInt(makeTimestamp(), 10), codeBytes) 
    return shim.Success(nil) 
} 

エラーが間違って何が起こっているかを説明します。 forループではないときにキーワードcontinueを使用していますが、この関数にはforループが含まれていません。

initCodeLedgerにはforループが含まれているので、それに気を取られてしまいますが、これは86/87/88行目のエラーで指定された行番号ではありません。このような質問をするのであれば、play.golang.orgにコードを投稿するのが理想的です。

+1

それは私の部分に大きな愚かさ..私はこの質問を削除する必要がありますか? – Katiyman

+0

心配しないで、私たちは皆それをやって、次回は、他の人が試してみることができる再生を与えるようにしてください。質問をdownvoteへの積み重ねは残念ですが、私はなぜそれがここで習慣になっているのか分かりません。 –

+0

ありがとう、私は次回の投稿時に念頭に置いておくつもりです。 – Katiyman

関連する問題