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
ダーツの旅で_説明するポインタ.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ミカイ
November 07, 2024
43
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ダーツの旅で_説明するポインタ.pdf
【東京/神田】 WebエンジニアオフラインLT会&交流会
2024/09/07
https://connpass.com/event/326925/
ミカイ
November 07, 2024
More Decks by ミカイ
See All by ミカイ
今からフロントエンドを0から勉強するならSvelteもありかも
junmikai
0
99
tsoaはいいぞ!APIドキュメントを自動生成!
junmikai
0
74
生成AI活用はHOWが大事な理由
junmikai
0
220
2025年の抱負: フリーランスから 正社員に戻るので 組織に貢献します!
junmikai
0
120
Chakra UI v3にバージョンアップしてほぼ別物になった件
junmikai
0
1.3k
LTのテーマ決めは「多数派」を意識しよう ~ LT年40回登壇した件~
junmikai
0
61
成長するには「重要 VS 緊急」を意識しよう
junmikai
0
29
LTのテーマ決めは「多数派」を意識しよう ~ LT年40回登壇した件~
junmikai
0
65
目標は「めいそう」が大事。漢字はどう書く?
junmikai
2
74
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
290
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Bash Introduction
62gerente
615
220k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
sira's awesome portfolio website redesign presentation
elsirapls
0
410
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Code Reviewing Like a Champion
maltzj
528
40k
Why Our Code Smells
bkeepers
PRO
340
58k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
410
Transcript
ダーツの旅で 説明するポインタ 三海 純(ミカイジュン)
ミカイ ジュン • フリーランスエンジニア • 趣味: もくもく会、アニメ、ネット麻雀(雀魂)
• 好きな有名人 ◦ 後藤 ひとり ◦ 千早 愛音 ◦ 陸八魔アル ◦ 八木 唯
キャリア • 現在 : フリーランス(自社開発) ◦ Next.jsの新規開発とバックエンドを担当 •
2022/03 - 2023/09: 正社員(自社開発) ◦ バックエンドはPython / Nest.js(Node.js) ◦ フロントエンドはReact.jsとNext.js • 2020/06 - 2022/02: 正社員(受託企業) ◦ Vue.js/Nuxt.jsをメイン
今回お話しすること プログラミングの ポインタ に関して
package main import "fmt" func main() { blueArrow, redArrow :=
42, 2701 blueArrowMap := &blueArrow *blueArrowMap = 21 blueArrowMap = &redArrow // blueArrowMap: 0xc000104048 fmt.Println("blueArrowMap:", blueArrowMap) // &blueArrowMap: 0xc000108038 fmt.Println("&blueArrowMap:", &blueArrowMap) // *blueArrowMap: 2701 fmt.Println("*blueArrowMap:", *blueArrowMap) }
あるある? Java、C#、Perlなど 経験したことがない エンジニアにとって ポインタは難しい
「:」とか「&」ってなんやねん
というわけで? ポインタをダーツで解説!
None
2710号 42号 ※ここの数字は位置ではなくダーツの名前だと思ってください func main() { blueArrow, redArrow := 42,
2701
2710号 42号 住所: 0xc000104048(以降 島根県) 住所: 0xc000104040(以降 石川県) blueArrow, redArrow
:= 42, 2701 // blueArrow: 42 fmt.Println("blueArrow:", blueArrow) // &blueArrow: 0xc000104040(石川県) fmt.Println("&blueArrow:", &blueArrow) // redArrow: 2701 fmt.Println("redArrow:", redArrow) // &redArrow: 0xc000104048(島根県) fmt.Println("&redArrow:", &redArrow) 普通の値に &をつけると住所が取得できる
青い矢の住所が載っている 2710号 42号 func main() { blueArrow, redArrow := 42,
2701 blueArrowMap := &blueArrow
青い矢の住所が載っている 42号 blueArrow, redArrow := 42, 2701 blueArrowMap := &blueArrow
// blueArrowMap: 石川県 fmt.Println("blueArrowMap:", blueArrowMap) // &blueArrowMap: 0xc000108038( 東京都) fmt.Println("&blueArrowMap:", &blueArrowMap) // *blueArrowMap: 42 fmt.Println("*blueArrowMap:", *blueArrowMap) - 地図本体は参照先 (青い矢)の住所(16進数) - &をつけると本体の住所 - *をつけると参照先 (青い矢)の値
地図の青い矢の名前を変えましょう 2710号 21号 func main() { blueArrow, redArrow := 42,
2701 blueArrowMap := &blueArrow *blueArrowMap = 21
21号 住所: 石川県 blueArrow, redArrow := 42, 2701 blueArrowMap :=
&blueArrow *blueArrowMap = 21 // blueArrow: 21 fmt.Println("blueArrow:", blueArrow) // &blueArrow: 石川県 fmt.Println("&blueArrow:", &blueArrow) 変数に*をつけて定義しなおすと 本体(青ダーツ矢 )の値も変わる
2710号 21号 これからは赤い矢を見ましょう blueArrow, redArrow := 42, 2701 blueArrowMap :=
&blueArrow *blueArrowMap = 21 blueArrowMap = &redArrow
2710号 21号 住所: 島根県 blueArrow, redArrow := 42, 2701 blueArrowMap
:= &blueArrow *blueArrowMap = 21 blueArrowMap = &redArrow // blueArrowMap: 島根県 fmt.Println("blueArrowMap:", blueArrowMap) // &blueArrowMap: 東京都 fmt.Println("&blueArrowMap:", &blueArrowMap) // *blueArrowMap: 2701 fmt.Println("*blueArrowMap:", *blueArrowMap) - blueArrowMap = &redArrowで参照先を変更 - &をつけると本体の住所 (前と変わらない ) - *をつけると参照先 (赤い矢)の値が出力
といった感じで簡単に 解説してみました
一回の説明じゃわからない?
None
None
ご清聴ありがとうござ います!