goで配列のサイズを動的に初期化する
2023-10-10 21:32:50
質問
標準入力から 'x' 個の整数を受け取り、平均を計算して返す小さなアプリケーションをgoで書こうとしています。私はここまでしか得ていません。
func main() {
var elems, mean int
sum := 0
fmt.Print("Number of elements? ")
fmt.Scan(&elems)
var array = new([elems]int)
for i := 0; i < elems; i++ {
fmt.Printf("%d . Number? ", i+1)
fmt.Scan(&array[i])
sum += array[i];
}............
これをコンパイルしようとすると、次のようなエラーメッセージが表示されます。
無効な配列バウンドエレメント
何が間違っているのでしょうか?
どのように解決するのですか?
配列ではなく、スライスを使用する必要があります。
//var array = new([elems]int) - no, arrays are not dynamic
var slice = make([]int,elems) // or slice := make([]int, elems)
"を参照してください。 スライスの使い方と内部を見る "を参照してください。
また、次のようなことも検討したいでしょう。 を使用して、範囲 をループさせることもできます。
// for i := 0; i < elems; i++ { - correct but less idiomatic
for i, v := range slice {
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】配列に何かを追加する方法は?
-
[解決済み] ダイナミックアロケーションアレイの理想的な成長率は?
-
[解決済み] AngularJSカスタムフィルタ機能
-
アレイからの重み付きランダム選択
最新
-
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 実装 サイバーパンク風ボタン