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
0
59
【Go言語】range
Tomoki Ota
August 30, 2024
Tweet
Share
More Decks by Tomoki Ota
See All by Tomoki Ota
アーキテクチャの価値
tomo1227
0
83
アーキテクチャとビジネスロジック
tomo1227
0
85
【Go言語】テスト
tomo1227
0
49
【Go言語】クロージャ
tomo1227
0
250
【Go言語】イテレータ
tomo1227
0
65
【Go言語】エラーハンドリング
tomo1227
0
55
AIに淘汰されないようにするには?
tomo1227
0
55
【Go言語】break
tomo1227
0
58
【Go言語】反復処理
tomo1227
0
34
Other Decks in Programming
See All in Programming
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
280
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
920
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
3
1.3k
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
2
1.5k
State of CSS 2025
benjaminkott
1
120
tool ディレクティブを導入してみた感想
sgash708
1
150
AIコーディングAgentとの向き合い方
eycjur
0
240
Introduction to Git & GitHub
latte72
0
120
LLMOpsのパフォーマンスを支える技術と現場で実践した改善
po3rin
8
990
Laravel Boost 超入門
fire_arlo
1
130
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
1.1k
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
180
Featured
See All Featured
Making Projects Easy
brettharned
117
6.3k
Building an army of robots
kneath
306
46k
Scaling GitHub
holman
462
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Documentation Writing (for coders)
carmenintech
73
5k
Raft: Consensus for Rubyists
vanstee
140
7.1k
For a Future-Friendly Web
brad_frost
179
9.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Code Review Best Practice
trishagee
70
19k
Visualization
eitanlees
147
16k
Six Lessons from altMBA
skipperchong
28
4k
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 εϥΠεͷΠϯσοΫεΛͬͯɺ֤ཁૉΛࢀর͢ΔϙΠϯλΛ֨ೲ͢Δํ๏