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
ミカイ
November 07, 2024
0
16
ダーツの旅で_説明するポインタ.pdf
【東京/神田】 WebエンジニアオフラインLT会&交流会
2024/09/07
https://connpass.com/event/326925/
ミカイ
November 07, 2024
Tweet
Share
More Decks by ミカイ
See All by ミカイ
今からフロントエンドを0から勉強するならSvelteもありかも
junmikai
0
30
tsoaはいいぞ!APIドキュメントを自動生成!
junmikai
0
21
生成AI活用はHOWが大事な理由
junmikai
0
120
2025年の抱負: フリーランスから 正社員に戻るので 組織に貢献します!
junmikai
0
76
Chakra UI v3にバージョンアップしてほぼ別物になった件
junmikai
0
470
LTのテーマ決めは「多数派」を意識しよう ~ LT年40回登壇した件~
junmikai
0
5
成長するには「重要 VS 緊急」を意識しよう
junmikai
0
10
LTのテーマ決めは「多数派」を意識しよう ~ LT年40回登壇した件~
junmikai
0
15
目標は「めいそう」が大事。漢字はどう書く?
junmikai
2
28
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
A Tale of Four Properties
chriscoyier
160
23k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Designing Experiences People Love
moore
142
24k
Being A Developer After 40
akosma
90
590k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Building Applications with DynamoDB
mza
95
6.5k
Faster Mobile Websites
deanohume
307
31k
Producing Creativity
orderedlist
PRO
346
40k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
210
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Building an army of robots
kneath
306
45k
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
ご清聴ありがとうござ います!