タイムアウト時に問題の処理で発生します。
問題のコード
パッケージメイン インポート( "FMT" "時間" ) FUNCメイン(){ VAR CHちゃんストリング 行くFUNC(){ - CH < "結果"は }() {を選択 = <-CH:ケースRES fmt.Println(RES)を 戻り ケース<-time.After(time.Second * 5): fmt.Println( "タイムアウト") } }
エラーの原因: - time.After(time.Second * 5)このブランチVAR CHちゃん文字列のスペースの無い配分CH、それはケース<を実行してきたので。=(チャン文字列)を作る:ソリューションが追加されます:CH =作る(ちゃん文字列)またはVAR CHちゃんの文字列を削除し、CHを追加します
考えます:
varがそれにスペースが割り当てられたときに文ちゃん、マップにポインタを利用する必要がある、または使用することはできません
比較マップの実現:
VaRのKLマップ[文字列]文字列 KL [ "文字列"] = "STK" fmt.Println(KL)//出现错误 するvarカラットマップ[文字列]文字列 カラット=メイク(マップ[文字列]文字列) カラット[ "文字列"] = "strin" fmt.Println(カラット)//正确