Go エラー: 配列の結合が一定でない
2023-09-17 14:09:37
質問
で書いているマージソートの実装で、配列に必要な長さを計算しようとしています。
go
. 以下のような感じです。
func merge(array []int, start, middle, end int) {
leftLength := middle - start + 1
rightLength := end - middle
var left [leftLength]int
var right [rightLength]int
//...
}
を実行すると、次のような問題が発生します。
go test
:
./mergesort.go:6: non-constant array bound leftLength
./mergesort.go:7: non-constant array bound rightLength
と仮定します。
go
は、ユーザーが計算された値で配列の長さをインスタンス化することを楽しめません。それは
定数
. あきらめて、代わりにスライスを使うべきでしょうか?私は
スライス
は動的な配列で、リンクリストになっているか、いっぱいになるとより大きな配列にコピーされることを意味します。
どのように解決するのですか?
このような配列は、実行時に計算された値でインスタンス化することはできません。代わりにmakeを使用して、目的の長さのスライスを初期化します。以下のような感じでしょうか。
left := make([]int, leftLength)
関連
-
[解決済み] Golangで定数mapを宣言するには?
-
[解決済み] ゼロ終端のバイト配列を文字列に変換するにはどうすればよいですか?
-
[解決済み] "宣言されているが使用されていない "という迷惑なエラーを回避する方法
-
[解決済み】github private repoで「terminal prompts disabled」エラーになる。
-
[解決済み】定数配列の宣言
-
[解決済み] スライスを宣言するのか、スライスを作るのか?
-
[解決済み] ログをファイルに書き出す方法
-
[解決済み] Goのargv[0]に相当するものは何ですか?
-
[解決済み] Go で子プロセスの標準出力パイプをリダイレクトする
-
[解決済み] IntelliJでファイル保存時にgofmtを実行する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] サーバーでSSLが有効になっていない
-
[解決済み] time.Sleepを使わずにすべてのゴルーチンが終了するのを待つには?
-
[解決済み] Go で子プロセスの標準出力パイプをリダイレクトする
-
[解決済み] Go プログラムに渡されたコマンドライン引数にアクセスするには?
-
[解決済み] ...interface{}の意味 (ドット・ドット・ドット・インターフェース)
-
[解決済み] テキストファイルの読み方を教えてください。重複
-
[解決済み] 匿名インターフェイスを埋め込んだ構造体の意味?
-
[解決済み] Goでシステムコマンドの出力を得るには?
-
[解決済み] Go オブジェクトのポインタ値を表示するにはどうすればよいですか?ポインタの値は何を意味するのですか?
-
go.modの「incompatible」の意味、害はないのか?