並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 14 件 / 14件

新着順 人気順

イテレータの検索結果1 - 14 件 / 14件

  • Go 1.23のイテレータについて知っておくべきこと

    はじめに 2024年8月13日、Go 1.23がリリースされ、ついにイテレータが利用可能となりました。 この記事では、Goのイテレータについて、 どうやって使うのか どこまで知っておく必要があるのか を理解することをゴールとします。 基本的な知識 基本的な知識としては、以下の内容を知っていれば問題ないです。 for文のrangeループの仕様が変わった 関数を対象にrangeループを回せるようになる rangeループの対象にできる種類の関数をイテレータと呼ぶ イテレータには3種類ある for文のrangeループの仕様が変わった Go 1.22までは、for文によるrangeループの対象にできたのは、配列, slice, 文字列, map, channel, 整数だけでした。 Go 1.23で、ここに関数(ただし、特定の形式に限る)が加わりました。 ここで、rangeループの対象にできる形式の

      Go 1.23のイテレータについて知っておくべきこと
    • Go1.23で導入予定のイテレータを完全理解する✌️

      イテレータについて完全理解するぞ!!!! 皆さん、Go1.23で導入予定のイテレータすごい楽しみですよね? 筆者はすごい楽しみです。Go1.18でジェネリクスが導入されて書き方の幅が広がったように、今回のイテレータもGoの書き方の幅を広げる機能になるのではと予想しております! https://github.com/golang/go/issues/61405 を見ると分かるように「add range over int, range over func」の機能はGo1.23のマイルストーンに積まれています。 「range over int」の機能についてはGo1.22で既に実装されています[1] 。「range over func」は来たるGo1.23に実装予定だと思われます。このブログでは、導入予定の型/関数とその使い方を深ぼっていきたいと思います! このブログの中では「range ove

        Go1.23で導入予定のイテレータを完全理解する✌️
      • イテレータを分岐させるとどうなる? Iterator Helpersに見るJavaScriptのイテレータの挙動

        2024年10月のTC39ミーティングでは、Iterator HelpersがStage 4となり、ECMAScriptの仕様に追加されることが決定しました。Iterator HelpersはすでにGoogle Chromeなどで試すことができます。 Iterator Helpersは概してわかりやすい機能群ではありますが、やはり元々がJavaScriptということで、直観的には理解しがたい挙動もあります。そのような挙動は、とくにイテレータを分岐させたときに見られます。 ということで、この記事ではイテレータを分岐させた場合の挙動を見ていきましょう。Iterator Helpersそのものに関する基礎的な説明は省略していますので、他の記事をご覧ください。 イテレータを分岐させる Iterator Helpersは、イテレータに生えたメソッドであり、返り値は新しく作られたイテレータです。そのた

          イテレータを分岐させるとどうなる? Iterator Helpersに見るJavaScriptのイテレータの挙動
        • まずはイテレータ(range over func)の仕様を学ぼう - Goのイテレータ深堀りNight - newmo 技術ブログ

          はじめに こんにちは。newmoでソフトウェアエンジニアをやっている@tenntennです。 本稿では、2024年9月24日(火)にファインディ株式会社主催の「Goのイテレータ深堀りNight」というイベントで登壇してきましたので、その報告と内容について紹介します。 findy.connpass.com 「Goのイテレータ深堀りNight」は、2024年8月にリリースされたGo1.23の機能の1であるrange over func(通称イテレータ)について、6人の登壇者がさまざまな角度で10分のライトニングトーク(LT)を行うイベントです。筆者は、トップバッターということで「まずはイテレータ(range over func)の仕様を学ぼう 」という発表を行いました。 登壇に用いた資料は次のリンクから閲覧ができます。 docs.google.com イテレータの導入経緯 イテレータの導入経緯

            まずはイテレータ(range over func)の仕様を学ぼう - Goのイテレータ深堀りNight - newmo 技術ブログ
          • イテレータによってGoはどう変わるのか - Gopher Day Taiwan 2024 基調講演登壇レポート

            はじめに 株式会社ナレッジワークの上田(@tenntenn)です。 2024年5月25日(土)に台湾で行われたGopherDay Taiwan 2024というGoのカンファレンスにキーノート(基調講演)スピーカーとして招待頂き参加しました。 登壇中の様子 筆者は過去に海外カンファレンスであるGopherCon(アメリカ)やGopherCon India(インド)にプロポーザルを提出し、登壇した経験があります。しかし、基調講演を行うのは初めてで英語の登壇も数年ぶりでした。 基調講演のお誘いは、前職(株式会社メルペイ)の同僚であるtenling(てんりん)さんからで、2023年のアメリカで行われたGopherConでお話したことがきっかけでした。 他の登壇者との写真。左からマネーフォワードのluccafortさん、メルペイのtenlingさん、筆者、LINEのDevRelで筆者と同じGoogl

              イテレータによってGoはどう変わるのか - Gopher Day Taiwan 2024 基調講演登壇レポート
            • Goの標準パッケージに追加されたイテレータ操作関数のご紹介 - 虎の穴開発室ブログ

              こんにちは。 虎の穴ラボでFantiaの開発を担当している Y.Kです。 先日、8月14日にGo言語のバージョン1.23がリリースされました。 🥳 Go 1.23.0 is released! 📝 Release notes: https://t.co/GXY18wS0ec ⬇️ Download: https://t.co/KjiWuBUQxl#golang pic.twitter.com/L3NMD3RAWx— Go (@golang) 2024年8月13日 バージョン1.23の目玉としてはやはり、バージョン1.22で試験的に入っていた「range-over func」が正式に導入されたことかなと思います。 「range-over func」とは「for-range構文」のrange句において以下の関数を受け取ることができるようにする変更です。 func(func() bool)

                Goの標準パッケージに追加されたイテレータ操作関数のご紹介 - 虎の穴開発室ブログ
              • イテレータによってGoはどう変わるのか

                イテレータによって Goはどう変わるのか Go Conference 2024

                  イテレータによってGoはどう変わるのか
                • 利用者視点で考える、イテレータとの上手な付き合い方

                  「Go 1.23のイテレータについて知っておくべきこと」を登壇用に再編したものです https://zenn.dev/syumai/articles/cqud4gab5gv2qkig5vh0

                    利用者視点で考える、イテレータとの上手な付き合い方
                  • aws-sdk-go-v2のページングがあるAPIをGo 1.23のイテレーターで実装する

                    func ecsNewListTasksIterator(ctx context.Context, c *ecs.Client, in *ecs.ListTasksInput) func(func(*ecs.ListTasksOutput, error) bool) { return func(yield func(*ecs.ListTasksOutput, error) bool) { for { out, err := c.ListTasks(ctx, in) if err != nil { yield(nil, err) return } if !yield(out, err) || out.NextToken == nil { return } in.NextToken = out.NextToken } } } client := ecs.NewFromConfig(awsCfg

                      aws-sdk-go-v2のページングがあるAPIをGo 1.23のイテレーターで実装する
                    • Go 1.23 で導入予定のイテレータでLINQ的な検索の実装を試した - tomato3713’s blog

                      最近は Go 1.23 で導入予定のイテレータを試して使い方を探っています。1 そのなかでイテレータを使ってLINQ的なことができないかを試したところ、良さそうな形になったので紹介します。 LINQは、C#やVisual Basic、F#などの.NET系の言語でサポートされている様々なデータソースに対するクエリ機能のことを指します。 LINQを使うと LINQ の概要 - .NET | Microsoft Learnの冒頭にある例のような単純なクエリ構文を使ってデータの変換や検索などが記述できます。 Go 1.23で導入予定のイテレータもLINQと同様に連続したデータに対して統一的で簡潔なインターフェイスを与える仕組みなので、イテレータを使うとLINQ的な実装がうまく記述できそうという見込みがありました。 試すために最小限のメソッドしか準備しておらず、実装途中ですがライブラリ形式に纏めてみ

                        Go 1.23 で導入予定のイテレータでLINQ的な検索の実装を試した - tomato3713’s blog
                      • GoのイテレータにRubyっぽいコレクション操作を提供するパッケージを作った - Sexually Knowing

                        GitHub - aereal/iter: iter provides utility functions about standard iter. 使い方 pkg.go.devを見てもらえるとよい。 Chunkを取り上げると、第一引数を n 個ごとの要素に分割したイテレータを返す。 たとえば一度に最大500個までの引数を受け取るAPIへリクエストを送る処理を実装する場合、送りたい引数リストを500件ずつに分割して送りたい。 そういう時に Chunk を使うとよい。 for chunk := range seq.Chunk(args, 500) { _ = sendRequest(ctx, chunk) } 他に、2つの iter.Seq を引数にとり同じ添字に位置する要素をペアにした iter.Seq2 を返す Zip などもある。 モチベーション Rubyなどにあるような高級なコレクシ

                          GoのイテレータにRubyっぽいコレクション操作を提供するパッケージを作った - Sexually Knowing
                        • Rust のイテレータとクロージャを理解して rayon で並列処理する

                          Rust のデータ並列ライブラリ rayon のコンパイルをちゃんと通せるくらいまで、 Rust の実装を整理する。 本 Book はイテレータの各種メソッド ( iter, into_iter, collect, map, filter ) について実装を整理し、クロージャの仕組みと種類 ( Fn, FnMut, FnOnce ) について整理するのが主な内容となる。 さらに軽くマルチスレッド用のマーカートレイト ( Sync, Send ) について確認し、rayon イテレータの各種メソッド ( par_iter, into_par_iter, map, filter ) について整理する。 必要最低限のスマートポインタ ( Rc<T>, Arc<T>, Mutex<T> ) についても確認し、rayon を用いた並列処理のコンパイルを恐れず自信を持って通せることを目標とする。 この

                            Rust のイテレータとクロージャを理解して rayon で並列処理する
                          • 標準ライブラリの動向とイテレータのパフォーマンス

                            Goのイテレータ深堀Night https://findy.connpass.com/event/328543/

                              標準ライブラリの動向とイテレータのパフォーマンス
                            • Go1.23のイテレータを動かして学ぶ

                              はじめに(おことわり) Goの次期バージョンである1.23でイテレータが導入されるようなので触ってみます。 今回の調査で使うGoのバージョンは1.23rc1です。公式ドキュメントからの情報に基づいていますが、RC版ですので、正式リリース時には変更が入っている可能性がありますので、注意が必要です。 イテレータとは イテレータは、連続したデータを1つずつ順番に処理していくための仕組みです。 イテレータをを使うと、スライスを使わずにシーケンシャルなデータを扱うことができます。 Goのイテレータは、コールバック関数を受け取る関数です。返り値はありません。コールバック関数を呼び出してデータを1つずつ渡していきます。 Goのイテレータ関数は次のようなシグネチャで定義されます。コールバック関数は慣習としてyieldと名付けられます。 コールバック関数は引数を1つ受け取るものと、2つ受け取るものがあります

                                Go1.23のイテレータを動かして学ぶ
                              1