2013年12月17日火曜日

始めよう!Go言語(実際にやってみよう編)

にゃんぱ(ry
早くも3度目の登場Nashioです.(3/17って頭おかしい)

アドベントカレンダーも17日目を向かえ,そろそろゴールが見え始めてきました.
(それに伴い4年生には卒論の足音が聞こきそうですが...)

今回はアドベントカレンダー2日目で予告していた通りGo言語のプログラムを書いてみようと思います.

実際にやってみよう!!


Go言語はチュートリアルがかなり充実しているので,ほんとに勉強しようと思ったらこんな記事を読むより本家サイトチュートリアルを見ることをオススメします.
また,参考サイト ここに初心者が見ると幸せになれるサイトがまとまっているのでそこを見てみるといいと思います.

ではそろそろ本題に入りましょう.
今回は超簡単なWebサーバを作ってみましょう!!

作ってみたソースコード(app.go)は以下のとおりです.

package main

import (
    "net/http"
)

func main() {
    http.Handle("/", http.FileServer(http.Dir("html")))
    http.ListenAndServe(":8080", nil)
}
たった10行でWebサーバがたっちゃいます.

では,コードの中身を見て行きましょう(見るほどの内容無い気がするけどね)

package main
Go言語はpackageから始まります.main関数があるのでmainにしておきます.

import (
    "net/http"
)
ここではパッケージのインポートをしています.
上記のようにグループ化して複数をまとめて書くことが出来ます.
今回は"net/http"パッケージを追加しています.
import "net/http"
も同じ意味です.

func main() {
    http.Handle("/", http.FileServer(http.Dir("html")))
    http.ListenAndServe(":45678", nil)
}
ここはmain関数です.このファイルを実行するとはじめにこの関数が呼ばれます.
http.Handle("/", http.FileServer(http.Dir("html")))
ここでハンドラの宣言を行っています.
第1引数でpathを指定(ここでは"/"パス),今回は簡単なWebサーバを作るので,htmlディレクトリ以下の静的ファイルを表示するイベント関数を第2引数に指定します.

http.ListenAndServe(":45678", nil)
ここでサーバが起動します.
第1引数にしようポート(ウェルノウンは避けたほうがよい)を指定, 第2引数にはnilを指定しましょう.

後は作ったapp.goファイルと同じディレクトリにhtmlディレクトリを作成し,その下に表示したhtmlファイル等を配置しましょう.

これで準備は完了です.

さぁお待ちかね実行のお時間です.
Go言語はコンパイル言語なのでコンパイルしましょう.
go build app.go
これでコンパイルができます.
あとは生成されたappファイルを
./app
で実行しましょう.
私はこんなかんじなものを表示させてみました.
ちなみにGo言語では
go run app.go
で簡易実行することが出来ます.(あくまで簡易)

おわりに


みなさんいかがだったでしょうか?
詳しいプログラムの解説はしていませんが,こんな簡単にWebサーバを作ることができちゃいました.
みなさんGo言語楽しみましょう!!

最後に今回言いたかったことはGo言語のキャラがかわいいということでした.

39 件のコメント:

  1. คาสิโนออนไลน์ที่น่าเชื่อถือและมีความเป็นมืออาชีพที่สุดในตอนนี้
    โปรโมชั่นGclub ของทางทีมงานตอนนี้แจกฟรีโบนัส 50%
    เพียงแค่คุณสมัคร สล็อตออนไลน์ กับทางทีมงานของเราเพียงเท่านั้น
    ร่วมมาเป็นส่วนหนึ่งกับเว็บไซต์คาสิโนออนไลน์ของเราได้เลยค่ะ
    สมัครสล็อตออนไลน์ >>> Goldenslot
    สนใจร่วมสนุกกับ คาสิโนออนไลน์ คลิ๊กได้เลย
    มีทั้งคาสิโนออนไลน์ หวยออนไลน์ ฟุตบอลออนไลน์ สล็อตออนไลน์ และอื่นๆอีกมากมาย

    返信削除
  2. Thanks for this great post, I really loved reading your blog. I find it very interesting and very well thought out and put together. I just hope that you keep it going on later on as well. Cheers! Sexy Baccarat, Slotxo

    返信削除
  3. I want to encourage you to ultimately continue your great writing, have a nice weekend! ufabet

    返信削除
  4. I want to encourage you to ultimately continue your great writing, have a nice weekend! ufa

    返信削除
  5. Thank you for sharing good content. I found your blog on google search it’s very helpful for me.

    ufabet
    ufa
    sexy baccarat
    slotxo
    sagame

    返信削除
  6. Subsequently, this card game began to spread to Canada and America in the 17th century until this card game became the most famous in the 18th century in New Orleans, America. It is a game that American soldiers gamble in their spare time during World War II, after the year 1834 the Americans changed their name to poker card games, and the man who founded the new name, Jonathan H Green, was the one. That makes the poker card game famous in America. find more information โป๊กเกอร์ออนไลน์

    返信削除
  7. Prorganiq is a natural and herbal supplement company, founded for the sole purpose of unlocking the hidden benefits of nature to provide everyday goodness and wellness to people across the globe.

    Our countless happy and healthy customers are the living proof of everything we stand for. In fact, we are firm believers and advocates of natural healing for people of all ages and particularly the healing that is derived from nature itself. health

    返信削除
  8. That’s why our supplement line is more than just a way to put bread on our table and a roof over our heads. It is our way of unveiling the benefits of natural ingredients to people who can actually benefit from some support in their journey to health and wellness. herbal

    返信削除
  9. Watch movies online sa-movie.com, watch new movies, series Netflix HD 4K, watch free movies on your mobile phone, Tablet, watch movies on the web. ดูหนังออนไลน์


    SEE4K Watch movies, watch movies, free series, load without interruption, sharp images in HD FullHD 4k, all matters, all tastes, see anywhere, anytime, on mobile phones, tablets, computers. ดูหนังใหม่


    GangManga read manga, read manga, read manga online for free, fast loading, clear images in HD quality, all titles, anywhere, anytime, on mobile, tablet, computer. อ่านการ์ตูน


    Watch live football live24th, watch football online, link to watch live football, watch football for free. ผลบอลสดa

    返信削除
  10. SAGAME.com เกมสล็อตแมชชีนออนไลน์หลากหลายรูปแบบให้บริการเกมสล็อตแมชชีน 3 มิติคุณภาพสูง เกมสล็อตแมชชีนด้วยเงินจริงชั้นนำที่มีสล็อตแมชชีนธีมเอเชียและตะวันตกที่ไม่เหมือนใคร เกมสล็อตเหล่านี้มีคุณสมบัติเกมที่เป็นนวัตกรรมการเล่นเกมที่น่าสนใจกราฟิกสร้างสรรค์และภาพเคลื่อนไหวเพลงประกอบฉากที่น่าตื่นเต้นบรรยากาศที่น่าดึงดูดและรางวัลแจ็คพอตที่น่าตื่นเต้นซึ่งให้ความบันเทิงและน่าตื่นเต้นเป็นอย่างยิ่ง เกมสล็อตทั้งหมดได้รับการปรับให้เหมาะกับอุปกรณ์พกพาโดยใช้เกม HTML5 ที่มีการปรับข้ามแพลตฟอร์มที่เหมาะอย่างยิ่งสำหรับอุปกรณ์พกพาและแท็บเล็ตเพื่อความสนุกสนานและประสบการณ์การเล่นเกมชั้นหนึ่งที่เป็นมิตรสำหรับผู้เล่น sa gaming

    返信削除
  11. CBD oils from different plant sources often have very different ingredients - even if both oils contain the same dose of CBD. That means: Different CBD oils can affect your body in different ways.

    返信削除
  12. The largest, including thousands more every day With games that start every second, lovePoker is the only place that collects poker online games from many,

    返信削除
  13. Selling cars privately can take weeks. If you don't need a used car trading, it can take months (for example, a convertible with a manual transmission was available in Detroit at the end of January). In the meantime, you have to invest in advertising and keep the car clean, as potential buyers will call at short notice to view the car.

    返信削除
  14. Many of you may have a question, whether or not there is just football betting. But not at all,ดูบอลออนไลน์ in our sports category there are over 13 different sports to bet on, for example basketball, boxing, snooker, tennis, racing, etc

    返信削除
  15. เราคือผู้นำด้านเกมพนันออนไลน์ Major168 เราคือผู้ให้บริการ คาสิโนออนไลน์ คาสิโนออนไลน์ ที่ได้รับรองว่าดีที่สุดในประเทศไทย มีค่ายเกมส์ให้เล่นมากมาย Sagaming, Sexy bacarat, Dreamgame, Ebet, Wm casino, Vivo gaming ไม่ผ่านเอเย่นต์ ระบบปลอดภัยมีทีมงานดูแลตลอด 24ชม.

    SAGAME88 แหล่งรวมเกมส์พนันออนไลน์ คาสิโนสด บาคาร่า กำถั่ว คาสิโนออนไลน์ ไฮโล รูเล็ต รับเครดิตฟรีเล่นได้ทุกเกมส์ โบนัสสมาชิกใหม่เพียบ พร้อมระบบฝากถอนออโต้ 10วิ เรามีทุกค่ายเกมส์ให้คุณเลือกเดิมพัน SA Game Sexy bacarat Dreamgame WM Casino VIVO Gaming Ebet เล่นได้ทุกเกมส์

    Our website ufabet provides betting services in the system of Auto Deposit-Withdrawal. Our members are not only in Thailand. Online football betting UEFA Bet market And this makes a guarantee that Ufabet168 is another reliable football betting website

    ufa through the website UFABET1688 a web gambling online , one that integrated all the bets from online casinos , online casino , online , and also have a game a lot more to be chosen to play such games.

    返信削除
  16. Online gambling UFA sites Accepted And played it the most secure 100% Boxing betting lottery, dice, baccarat casino Gamecocks basketball game to watch movies online. There is a complete end in one website, service 24 hours a day.

    返信削除
  17. This is the best blog annualeventpost I ever see. Thanks for sharing information with us.

    返信削除
  18. daftar dan main untuk dapatkan ratusan juta rupiah bonus kemenangan dari situs resmi permainan kartu Online terpercaya TEMAN POKER

    返信削除
  19. Before we discuss anything, understanding what the F95Zone forum entails is very important. This's a web based adult society where you can connect with huge numbers of people from across the world with a similar mindset. Apart from the discussion forums, it additionally offers several other capabilities as well as functions on the site which provide a smoother user experience.

    返信削除
  20. Number one poker online and playing cards techniques in Thailand. Like the master class techniques that the card player Uses to compete in the largest online tournaments on the planet. We feature the largest selection of world class games to update each day. With games beginning every second, we compile world class net games with true cash and free credit to play online competitions.

    返信削除
  21. साझा की गई उपयोगी जानकारी के लिए धन्यवाद। ba 2nd year result kota university लेख वास्तव में बहुत मददगार है।

    返信削除