首先簡單地說一下GO語言的環境安裝,從 http://golang.org/dl/ 針對自己的操作系統選擇合適的安裝包,然後下載安裝即可,下載的時候注意別選錯了的操作系統,例如go1.3.1.darwin-386-osx10.6.tar.gz 這個是蘋果操作系統的安裝包,go1.3.1.linux-amd64.tar.gz 這個是64位linux的安裝包,go1.3.1.windows-amd64.msi 這個是64位windows系統的安裝包,安裝過程很簡單,參照說明一步一步進行即可,在此不再贅述,類似的文章一搜一大片.如果你不能訪問go語言的網站,那麼說明我們偉大的長城防火牆爲了您的安全把您給墻了.想辦法跳牆吧.

裝好了GO環境之後您可能要選擇一個適合您的IDE才行,在此列舉幾個,至於選擇哪個您隨便,當然了最好是選擇一個您比較熟悉的為佳,比較專業的IDE是 LiteIDE,如果您以前沒有用過別的編輯器的話推薦您用這個.我自己用的是editplus,除此之外還有 notepad++;sublime;vim;emacs等等,如果您選擇windows系統自帶的記事本我是很不贊成的.

選好了IDE編輯器之後接下來進入正題,看我下邊的代碼:

//包名
package main //導入包
import(
"fmt"
) func main() {
fmt.Println("Hello World,你好世界,繁體中文! ①②③④⑤⑥⑦⑧⑨⑩⊙⊕◎");
}

針對上邊的代碼,我講解一下:

go語言的入口是main包內的main方法,這一點很重要,一定要記清楚,就如同用PHP開發網站時我們要建立一個index.php類似(如果你自己改了首頁文件名的定義除外)

因 此我在第一行代碼就定義了包名是main,接下來我用import導入一個外部的包fmt,因為馬上我要用這個包裡的方法幫我做內容輸出的動作,所以我在 用他的方法之前一定要先把這個包給導入進來,其實簡單一點你可以用PHP的require或include來理解,但是不同的是,go語言導入的包你必須 要用,如果導入了卻從來不用是會報錯的.這一點我挺喜歡的.

func這個關鍵字用來定義方 法,類似PHP的function,我在這個main()方法內使用fmt包的Println方法做輸出內容的動作,這裡簡單說明一下,go語言沒有 public或private之類的修飾,方法是否是public就看方法名的第一個字母是否為大寫,如果首字母是大寫的,那麼這個方法就是public 屬性,那麼他就可以被外部使用,我們看fmt包內的Println這個方法名的首字母是一個大寫的P,所以他就是public屬性,相當於PHP的 public function Println(){}  ,所以這個方法可以被外部使用.

另外您或許注意到了,我要輸出的字符串內包含了一些特殊符號,或許您會擔心其能否正確的被打印輸出,其實這個擔心是多餘的,因為go語言天生就對utf-8有很好的支援性,其實如果您喜歡的話您可以用中文來定義您的變量等,這些以後接觸多了您就知道了,看我下邊的改寫.

//包名
package main //導入包
import(
輸出 "fmt"
) func main() {
輸出.Println("Hello World,你好世界,繁體中文! ①②③④⑤⑥⑦⑧⑨⑩⊙⊕◎");
}

這一段代碼的輸出結果和上邊是完全相同的,不同在於我在導入fmt包的時候把這個包給重新命名了,那麼接下來我在 main()方法內使用的時候就變成了 輸出.Println() 是不是很有趣.這其實得益于go對utf-8的支援性.不過正常開發的時候還是很少會這樣用的,原因其實很簡單,我不想在開發的時候要不停的切換中英文輸入法.

希望轉載文章的朋友能夠留一個文章出處,http://see7di.cnblogs.com 在此感激不盡!

剛成立了一個QQ群,有興趣討論GO語言的朋友可以加入:195112

GO語言基礎教程:Hello world!的更多相关文章

  1. GO語言基礎教程:序章

    首先自我介紹一下我自己,我是一個coder,目前主要從事B/S程序開發工作,懂點PHP;ASP;JSP;JS;VB;C;DELPHI;JAVA,另外知道幾個數據庫,除此之外別無所長,那麼我為何會選擇學 ...

  2. GO語言基礎教程:數組,切片,map

    這節課我們來講解數組,切片和map,或許您是從其他語言轉到GO語言這邊的,那麼在其他語言的影響下您可能會不太適應GO語言的數組,因為GO語言把數組給拆分成了array,slice和map,接下來的時間 ...

  3. GO語言基礎教程:流程控制

    在開始一個新的章節之前先來回顧上一篇文章的部份,首先我們來看這段代碼: package main import ( "fmt" ) func main(){ var x,y int ...

  4. GO語言基礎教程:數據類型,變量,常量

    GO類似PHP,每行的結尾要加分號來結束,不同點在於GO對此並不強制,這一點又像javascript,另外GO的語句塊是用一對大括號來包裹的,但是go要求左大括號必須要在語句的結尾處,不能在行首出現左 ...

  5. GO語言視頻教程下載

    需要的朋友可以加QQ群195112,在群共享內可以下載到.

  6. GO語言視頻教程

    第1课:https://github.com/Unknwon/go-fundamental-programming/blob/master/lectures/lecture1.md Go开发环境搭建h ...

  7. RxSwift學習教程之基礎篇

    前言 我們在 iOS 開發過程中,幾乎無時無刻都要面對異步事件的處理.例如,按鍵點擊.數據保存..音頻後臺播放.交互動畫展示.這些事件並不具備特定時序性,甚至它們可能同時發生. 雖然 Apple 提供 ...

  8. Python 基礎 - if else流程判斷

    hmm~前面講了那麼多,終於可以稍稍的正式進入另一個階段,沒錯,要開始寫判斷式了 這次先從最簡單的判斷式開始,if else 開始- Go 首先,之前有寫有一個簡單的互動式 用戶輸入 的代碼,忘記了嗎 ...

  9. JavaScript基礎知識

    JavaScript基礎知識 1.標籤組使用 <script charset='utf-8' //設置字元集 defet //使腳本延遲到文檔解析完成,Browser已忽略 language=' ...

随机推荐

  1. PoEdu - C++阶段班- Lesson02_C to C++

    1  原生bool类型 c++里面的bool类型才是真正原生的true和faul,比如常见的大写的"BOOL",它就不是原生的. 原生的与非原生的bool,它们的区别: 详细说下原 ...

  2. shell 脚本注意事项

    设脚本名为test.sh 第一行应该为#! /bin/bash 1.运行和调试的结果是不一样的 调试 sh -x test.sh  这时在计算两个数的和sum=$[$a+$b]时得到sum=3+4,而 ...

  3. linux sudo命令

    Sudo”是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他 特许用户才能完成的任务,比如:运行一些像mount,ha ...

  4. sublime构建执行go程序真爽

    1.安装gosublime插件 2.直接在sublime下调试运行共程序,不用去cmd了: 选择编译系统,编译,出现下面的模拟命令行,直接执行go的命令即可,比如go run process.go,结 ...

  5. Event --mysql的scheduler.md

    事件调度器event 相当于oracle scheduler CREATE [DEFINER = { user | CURRENT_USER }] EVENT [IF NOT EXISTS] even ...

  6. eclipse中无法使用fat.jar

    因为某种需要,我要打jar包,而eclipse中自带的打包功能又太过于繁琐,因此找到这个插件.不过尝试了许久都没有成功,最后终于找到了原因,是因为该插件的版本太低的缘故.相见:https://code ...

  7. 六款值得推荐的android(安卓)开源框架简介

    1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1)  JSON,图像等的异步下载: (2)  网络请求的排序(scheduli ...

  8. Xamarin开发Android笔记:TextView行间距设定

    TextView 在使用TextView的时候会遇到调整行间距的问题,可通过Layout文件添加属性完成,具体属性如下: //设置行间距,如”3dp”. android:lineSpacingExtr ...

  9. Linux 下zip包的压缩与解压

    linux zip 命令详解 功能说明:压缩文件. 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串& ...

  10. [BTS] BizTalk EDI AS2 Error 1

    A message sent to adapter "HTTP" on send port "XZ.Test.AS2" with URI "https ...