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=' ...
随机推荐
- ABAP 日期时间函数
HR_JP_MONTH_BEGIN_END_DATE CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE' EXPORTING IV_DATE = ' IMPORTIN ...
- 小甲鱼python视频第八讲(课后习题)
1.for循环的使用,注意下面代码的区别 for i in range(0,10,2): print("i love you") for i in range(0,10): pri ...
- Oracle游标带参数
Oracle游标是可以带参数的,而SqlServer的游标就不可以了 create or replace procedure a as cursor b(c_id int)is select * fr ...
- iOS从不同页面跳转回到指定控制器
HomeViewController *homeVC = [[HomeViewController alloc] init]; UIViewController *target = nil; for ...
- mysql 统计
每周: select count(*) as cnt,week(editdate) as weekflg from projects where year(editdate)=2007 group b ...
- Mispelling 1510
#include<iostream>#include<string>#include<cstdio>using namespace std;int main(){ ...
- Java递归输出指定路径下所有文件及文件夹
package a.ab; import java.io.File; import java.io.IOException; public class AE { public static void ...
- Python批量修改文件名
处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到os模块: import os def RenameFiles(srcdir): #将目录下所有的文件命名为数字开头 ...
- python 传值引用和传参引用
调用同事的函数,传入goods_list,获取商品信息,然后将商品信息与goods_list的信息进行匹配,合并. 但是同事返回数据的同时改变了我传入的参数,goods_list.相当于传参引用,也就 ...
- Android中EditText样式修改 聚焦光标、背景
在Android开发中,根据项目的需求,需要定制一些特殊的样式,例如:使用EditText时,聚焦时的背景及光标图片使用自定义而非android系统默认的.这两天,在项目中涉及此需求,现记录如下: 首 ...