ヒカルのgo #3 http://connpass.com/event/9175/ で話した内容です
https://github.com/katryo/go_fanfare
ۀͰ͑ΔGolangkatryo
View Slide
࣍1. GolangڭͷͨΊͷIDEಋೖ2. ۀͰ͑ΔCLIΞϓϦΛGolangͰ࡞ͬͨ
1.GolangڭͷͨΊͷ IDEಋೖ
GolangΛࣾͰΊΔʹ?
։ൃڥͷ࡞ΓํΛ ڭ͓͑͋͏
Golang։ൃڥ• GoΛΠϯετʔϧ• GopathΛઃఆ• ͨΊ͠ʹgo runͰHello worldͯ͠ΈΔ
IDE• ੩తܕ͚ݴޠͰ͋Δ͜ͱͷརΛੜ͔͢• ΠϯετʔϧͷޙɺGOPATHΛઃఆ• ϝχϡʔόʔͷදࣔ(View)͔Β”ManageGOPATH…”Λબ
GOPATHઃఆ• Manage GOPATHͰɺࣗͷઃఆͨ͠GOPATHΛॻ͘
ΧϥʔεΩʔϚ• ݸਓతʹSublime text෩ͷΧϥʔεΩʔϚ͕͖
2.ۀͰ͑ΔCLIΞϓϦΛ GolangͰ࡞ͬͨ
Golangͷ్͍• CLI• γΣϧεΫϦϓτͷ͔ΘΓ• ……ͦΕ͚ͩʁ
ͳΜͱ͔ͯ͠GoΛ ۀͰ͍͍ͨ
ࢥ͍͍ͭͨ
ςετ࣮ߦͷͪ࣌ؒ• ςετΛ࣮ߦ͢Δͱɺेඵʙͷ͕ͪ࣌ؒൃੜ͢Δ• ୀ۶• GoͷྗͰͪ࣌ؒΛָ͘͢͠Δ• ԻָΛྲָྀͤ͘͠ͳΔͷͰͳ͍͔ʁ
γΣϧεΫϦϓτΛ ࢧԉ͢ΔϓϩμΫτΛGoͰ࡞Ζ͏
ఆ͢ΔγνϡΤʔγϣϯ• ./heavy_task ɺॏ͍ॲཧΛ࣮ߦ͢ΔγΣϧεΫϦϓτ• ςετɺը૾ॲཧɺetc• ./heavy_taskΛ࣮ߦ͢Δؒʹۓഭͨ͠ԻָΛྲྀ͠ɺྃͨ͠ΒϑΝϯϑΝʔϨΛྲྀ͍ͨ͠
ͬͨϥΠϒϥϦ• portaudio-go• portaudioͷgoόΠϯσΟϯά• Իָ࠶ੜͷίʔυαϯϓϧΛ΄΅ͦͷ··ͬͨ• αϯϓϧͷίʔυaiffΛ࠶ੜ͢ΔͷͩͬͨͷͰɺaiffͷԻָϑΝΠϧΛ͏͜ͱʹͨ͠
ͳͥԻָͱGoͳͷ͔• Goฒߦॲཧ͕ಘҙ• ChannelΛ͑ɺൺֱత؆୯ʹฒߦॲཧ͕ॻ͚Δ• ʮԿ͔ͷλεΫΛ࣮ߦ͠ͳ͕Βɺಉ࣌ʹԻָΛ࠶ੜ͠ɺλεΫ͕ऴྃͨ͠ΒɺԻָΛΓସ͑Δʯͷɺͪΐͬͱ໘ͳฒߦॲཧ
νϟϯωϧ• ผͷGoroutineؒͰϝοηʔδΛΓͱΓͰ͖Δ• λεΫ։࢝ɾλεΫྃͳͲΛɺνϟϯωϧΛͬͯ௨ͨ͠
WEB+DB vol.82• Golangͷॳ৺ऀ͚ྑهࣄ• jxck͞Μ͕ࣥච• Goroutineʹ͍ͭͯॻ͍ͯ͋Δ