Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【Go言語】range
Search
Tomoki Ota
August 30, 2024
Programming
100
0
Share
【Go言語】range
Tomoki Ota
August 30, 2024
More Decks by Tomoki Ota
See All by Tomoki Ota
アーキテクチャの価値
tomo1227
0
120
アーキテクチャとビジネスロジック
tomo1227
0
120
【Go言語】テスト
tomo1227
0
87
【Go言語】クロージャ
tomo1227
0
320
【Go言語】イテレータ
tomo1227
0
110
【Go言語】エラーハンドリング
tomo1227
0
90
AIに淘汰されないようにするには?
tomo1227
0
90
【Go言語】break
tomo1227
0
91
【Go言語】反復処理
tomo1227
0
72
Other Decks in Programming
See All in Programming
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
330
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.5k
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
2
190
New "Type" system on PicoRuby
pocke
1
430
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
470
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.4k
AIエージェントの隔離技術の徹底比較
kawayu
0
460
Swiftのレキシカルスコープ管理
kntkymt
0
210
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
440
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
430
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
420
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
360
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
570
RailsConf 2023
tenderlove
30
1.5k
Un-Boring Meetings
codingconduct
0
310
Six Lessons from altMBA
skipperchong
29
4.3k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
Speed Design
sergeychernyshev
33
1.8k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
600
Building a Scalable Design System with Sketch
lauravandoore
463
34k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Transcript
Tomoki Ota ʲGoݴޠʳrange
Goʹɺdowhileͳ͘ for͔͠ଘࡏ͠ͳ͍ɻ
rangeͱʁ ͷίϐʔ rangeͷධՁ rangeʹ͓͚ΔϙΠϯλ ΞδΣϯμ 3
rangeͱʁ
rangeͱʁ 5 ༷ʑͳσʔλߏʹରͯ͠ɺ෮ॲཧΛߦ ͏ͷʹศརͳํ๏ ΠϯσοΫεऴྃঢ়ଶΛѻ͏ඞཁ͕ͳ͍
rangeͱʁ 6 range͕͍͔ʹͯ͠ΛׂΓͯΔ͔Λ͍ͬͯͳ͍ͱ όάΛى͜͢ݪҼͱͳΓ͔Ͷͳ͍ʂ
จࣈྻ ྻ ྻͷϙΠϯλ εϥΠε Ϛοϓ ड৴νϟωϧ rangeͰ͑Δσʔλߏ
rangeͷ͍ํ
rangeͷ͍ํ
rangeͷ͍ํ
for _ := range s {} ίϯύΠϧΤϥʔ = Λ͓͏ʂ rangeͷ͍ํ
ͷίϐʔ
ͷίϐʔ 13 [{1100} {1200} {1300}]ʹͳΒͳ͍ʂ
GOͰೖ͞ΕΔͷ શͯίϐʔͰ͋Δ
ͷίϐʔ 15 ߏମΛฦؔ͢ͷ݁ՌΛೖ͢Δͱɺͦͷߏମͷίϐʔ͕ߦΘΕΔ ϙΠϯλΛฦؔ͢ͷ݁ՌΛೖ͢ΔͱɺϝϞϦΞυϨεͷίϐʔ͕ߦΘΕΔ (64bitΞʔΩςΫνϟͰΞυϨε64bitͱͳΔɻ)
ͷίϐʔ 16 εϥΠεͷΠϯσοΫεΛ༻͍ͯཁૉʹΞΫηε͢Δ ैདྷͷfor range ϙΠϯλΛ༻͢Δ
εϥΠεͷΠϯσοΫεΛ༻͍ͯཁૉʹΞΫηε͢Δ ैདྷͷfor 17
εϥΠεͷΠϯσοΫεΛ༻͍ͯཁૉʹΞΫηε͢Δ range 18
ϙΠϯλΛ༻͢Δ 19
ϙΠϯλΛ༻͢Δ 20 εϥΠεܕΛมߋ͢Δඞཁ͕͋Δ͕ɺৗʹՄೳͱݶΒͳ͍ ੑೳΛॏࢹ͢Δ߹ɺϙΠϯλͷεϥΠεΛ෮ॲཧ͢Δ͜ͱ༧ଌՄೳੑʹ͔͚ΔͨΊ CPUʹͱͬͯޮ͕ѱ͘ͳΔՄೳੑ͕͋Δ
rangeͷධՁ
rangeͷධՁ 22 range͕ࣜඞਢ
23 for i, v := range exp rangeͷධՁ
24 rangeͷධՁ
25 rangeͷධՁ
26 rangeͷධՁ rangeΛͬͨ࣌ʹ༩͑ΒΕ͕ͨࣜ ։࢝લʹ1͚ͩධՁ͞ΕΔɻ srange͕͏Ұ࣌มʹίϐʔ͞ΕΔɻ
27 rangeͷධՁ(νϟωϧ) rangechΛධՁͯ͠ɺҰ࣌มʹίϐʔ͠ɺ ͦͷνϟωϧͷཁૉʹରͯ͠ɺ෮ॲཧΛߦ͏ɻ ch = ch2ʹؔΘΒͣɺrangech2Ͱͳ͘ ch1ʹରͯ͠ɺ෮ॲཧΛଓ͚Δɻ ch =
ch2ɺchʹ2ͭͷνϟωϧΛೖ͍ͯ͠ΔͷͰɺ ͜ͷίʔυͷޙͰclose(ch)Λݺͼग़͢ͱɺ1ͭͰͳ͘ɺ 2ͭͷνϟωϧ͕Ϋϩʔζ͞ΕΔɻ
28 rangeͷධՁ(ྻ)
29 rangeͷධՁ(ྻ)
30 ࠷ޙͷཁૉͷ࣮ࡍͷͷදࣔํ๏ ΠϯσοΫεΛ͏ํ๏ ྻͷϙΠϯλΛ͏ํ๏
31 ΠϯσοΫεΛ༻͢Δ
32 ྻͷϙΠϯλΛ༻͢Δ
rangeʹ͓͚ΔϙΠϯλ
rangeʹ͓͚ΔϙΠϯλ 34 ΩϟογϡʹཁૉΛૠೖ͢ΔϩδοΫΛ࣮͍ͯ͠Δ
35 rangeʹ͓͚ΔϙΠϯλ
36 rangeʹ͓͚ΔϙΠϯλ
37 rangeʹ͓͚ΔϙΠϯλ
38 ղܾํ๏1 ϩʔΧϧมΛ༻͢Δํ๏
39 ղܾํ๏2 εϥΠεͷΠϯσοΫεΛͬͯɺ֤ཁૉΛࢀর͢ΔϙΠϯλΛ֨ೲ͢Δํ๏