GO語言基礎教程:Hello world!
首先簡單地說一下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!的更多相关文章
- GO語言基礎教程:序章
首先自我介紹一下我自己,我是一個coder,目前主要從事B/S程序開發工作,懂點PHP;ASP;JSP;JS;VB;C;DELPHI;JAVA,另外知道幾個數據庫,除此之外別無所長,那麼我為何會選擇學 ...
- GO語言基礎教程:數組,切片,map
這節課我們來講解數組,切片和map,或許您是從其他語言轉到GO語言這邊的,那麼在其他語言的影響下您可能會不太適應GO語言的數組,因為GO語言把數組給拆分成了array,slice和map,接下來的時間 ...
- GO語言基礎教程:流程控制
在開始一個新的章節之前先來回顧上一篇文章的部份,首先我們來看這段代碼: package main import ( "fmt" ) func main(){ var x,y int ...
- GO語言基礎教程:數據類型,變量,常量
GO類似PHP,每行的結尾要加分號來結束,不同點在於GO對此並不強制,這一點又像javascript,另外GO的語句塊是用一對大括號來包裹的,但是go要求左大括號必須要在語句的結尾處,不能在行首出現左 ...
- GO語言視頻教程下載
需要的朋友可以加QQ群195112,在群共享內可以下載到.
- GO語言視頻教程
第1课:https://github.com/Unknwon/go-fundamental-programming/blob/master/lectures/lecture1.md Go开发环境搭建h ...
- RxSwift學習教程之基礎篇
前言 我們在 iOS 開發過程中,幾乎無時無刻都要面對異步事件的處理.例如,按鍵點擊.數據保存..音頻後臺播放.交互動畫展示.這些事件並不具備特定時序性,甚至它們可能同時發生. 雖然 Apple 提供 ...
- Python 基礎 - if else流程判斷
hmm~前面講了那麼多,終於可以稍稍的正式進入另一個階段,沒錯,要開始寫判斷式了 這次先從最簡單的判斷式開始,if else 開始- Go 首先,之前有寫有一個簡單的互動式 用戶輸入 的代碼,忘記了嗎 ...
- JavaScript基礎知識
JavaScript基礎知識 1.標籤組使用 <script charset='utf-8' //設置字元集 defet //使腳本延遲到文檔解析完成,Browser已忽略 language=' ...
随机推荐
- hdu 5748(LIS) Bellovin
hdu 5748 Peter有一个序列a1,a2,...,ana_1,a_2,...,a_na1,a2,...,an. 定义F(a1,a2,...,an)=(f1,f2,...,fn ...
- css文本属性
CSS1&2中的文本属性 属性 版本 简介 text-indent CSS1 检索或设置对象中的文本的缩进 letter-spacing CSS1 检索或设置对象中的文字之间的间隔 word- ...
- Faster RNNLM (HS/NCE) toolkit
https://github.com/kjw0612/awesome-rnn Faster Recurrent Neural Network Language Modeling Toolkit wit ...
- 2016/10/28 很久没更了 leetcode解题 3sum
15. 3Sum Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Fi ...
- C# winform 代码生成
http://www.cnblogs.com/luomingui/archive/2012/09/02/2667217.html 双鱼林: http://www.crsky.com/soft/4941 ...
- Android入门
在学Android,摘自<第一行代码——Android> 布局管理 通过xml文件进行布局管理. android:id="@+id/button_1" 为当前的元素定义 ...
- ios调用第三方程序打开文件,以及第三方调用自己的APP打开文件
1.自己的APP调用第三方打开文件 主要是使用 UIDocumentInteractionController 类 并实现 UIDocumentInteractionControllerDel ...
- LeetCode:Permutations, Permutations II(求全排列)
Permutations Given a collection of numbers, return all possible permutations. For example, [1,2,3] h ...
- Python3学习(2)-中级篇
Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 切片:取数组.元组中的部分元素 L=['Jack','Mick','Leon','Jane','A ...
- c++中关于static关键字的问题
C++的static关键字C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作用. ...