"MGSFE8PSLqPXTCZ(P2017/12/11 golang.tokyo #11@enta0701
View Slide
ࣗݾհ❐ɹ!FOUB❐ɹגࣜձࣾϕʔγοΫ❐ɹ3VCZ%PDLFSLTɹ(P"OESPJE+BWB4DSJQU❐ɹ(Pྺɿ͗͢@enta0701@endotakuya@enta0701
"MGSFEɹͬͯ·͔͢ʁ
"MGSFE❐ΠϯΫϦϝϯλϧαʔνͰύύοͱݕࡧ❐ग़དྷΔݶΓΩʔϘʔυͷૢ࡞Ͱ͍݁ͨ͠ਓ͚❐εϦʔϓͱ͔ຯʹָ
"MGSFE8PSLqPXT❐"MGSFEΛΑΓޮՌతʹ͑Δ֦ுػೳ❐Ϣʔϩʢ ԁʣΛ͏͜ͱͰ͑Δ❐Α͘͏ͷɺHJUIVC'POU"XFTPNF2JJUB
8PSLqPXࣗ࡞Ͱ͖·͢
8PSLqPXΛࣗ࡞͢Δ❐"MGSFE1SFGFSFODFT8PSLqPXTɹ(FU4UBSUFE4DSJQU'JMUFS
8PSLqPXΛࣗ࡞͢Δ❐4DSJQU'JMUFSΛબ❐ͲͷݴޠΛબΜͰɺ࠷ऴతʹඞཁͳͷ+40/❐CJOCBTIͰɺ(Pͷ࣮ߦϑΝΠϧΛͤ0,
ͪͳΈʹ4QPSUJGZʁೖྗ͢Δ,FZXPSE͝ͱʹ4DSJQUΛΈ߹ΘͤΔ
ຊ
"MGSFE8PSLqPXTCZ(P
͢Ͱʹଘࡏ͢Δ"MGSFEͷύοέʔδϑΥʔϚοτ 4UBS ϝϯςφϯεSVFEBQHPBMGSFE 9.- QBTDBMXHPBMGSFE 9.- EFBOJTIFBXHP +40/ ˞"MGSFE͔Β+40/͕ਪ
BXHP❐HPCVJMEͨ͠ͷΛɺຖճ8PSLqPXʹஔ͢Δ ɹඞཁͯ͠ݕূ͢Δඞཁ͕͋Δ❐HPSVOͰؾܰʹݕূ͍ͨ͠❐DBDIFͱ͔͍ΖΜͳػೳ͋Δ͚Ͳͦ͜·ͰٻΊͯͳ͍❐ڥมΛ࣮ߦϑΝΠϧʹؚΊ͍ͨ ɹ˞8PSLqPXΛ͢Δͱ͖ʹFOWΛެ։ͨ͘͠ͳ͍
ͬͱγϯϓϧͰ͍͍͕ͭ͢ཉ͍͠
8PSLqPXʹ͢ɺ࠷খݶͷ+40/{"items": [{"title": "Desktop","arg": "~/Desktop",}]}
BMGSFEHP$ go get github.com/endotakuya/alfred-go/...func main() {a := alfred.New()item := alfred.NewItem()item.Title = "Desktop"item.Arg = "~/Desktop"a.Append(item)a.Print()}
FOWͷσʔλΛຒΊࠐΉHOGE="text"FUGA="http://example.com/"PIYO=50000$ alfred-go$ ls env./ ../ env.goFOWFOWFOWHPΛੜ
FOWͷσʔλΛຒΊࠐΉfunc main() {fmt.Println( env.List() )fmt.Println( env.Get(“HOGE") )}map[HOGE:text FUGA:http://example.com/ PIYO:50000]textऔΓग़͢ͱ͖ɺ
FOWHPͷੜw := bufio.NewWriter(f) => f: *os.Filedefer w.Flush()fmt.Fprintf( w, `package mainimport ("fmt")func main() {fmt.Println(“%s")}`, “Hello, world”)HPCJOEBUBΛࢀߟʢࡶʹॻ͘ͱ͜Μͳײ͡ʣ
·ͱΊ❐HPͷϑΝΠϧͷੜํ๏ؾ࣋ͪѱ͍ɺɺɺ❐8PSLqPXTΛ࡞Δͱ͖ɺ ɹػೳ͝ͱʢαδΣετ͍ͨ͠LFZXPSE͝ͱʁʣʹɹ࣮ߦϑΝΠϧΛੜ͍ͯ͠ΔΓํ͕ଟ͍ ɹ㱺͜Ε͙Β͍γϯϓϧͳύοέʔδͷ΄͏͕ѻ͍ͦ͢͏❐ͨͬͨͷ ԁͰ͜ΜͳʹշదʹͳΔͳΜͯʂ❐"MGSFE8PSLqPXTΛ(Pࣗ࡞ָͯ͠Λ͠·ͤΜ͔
͋Γ͕ͱ͏͍͟͝·ͨ͠