Go 學習筆記(二)- 程序結構

cxfq3886 8年前發布 | 9K 次閱讀 Go語言 Google Go/Golang開發

 

本章介紹了命名,關鍵詞,聲明,賦值,類型,包,作用域等概念,但主要介紹的只是程序結構和聲明。

命名

Go 變量區分大小寫 字母或下劃線開頭,推薦 駝峰式 命名,在一個包里,變量,常量,函數首字母大寫,它將是導出的,例如fmt包的Printf函數就是導出方法。

關鍵詞

Go 語言中有25個關鍵詞:

break      default       func     interface   select
case       defer         go       map         struct
chan       else          goto     package     switch
const      fallthrough   if       range       type
continue   for           import   return      var

貌似其他語言也都差不多,部分不同。。

內建類型及函數

Go 有30多個預定義的名字的內建常量、類型和函數。

內建常量: true false iota nil

內建類型: int int16 int32 int64 int8
         uint uint16 uint32 uint64 uint8 uintptr
         float32 float64 complex128 complex64
         bool byte error rune string
         ComplexType FloatType IntegerType Type Type1

內建函數: make len cap new append copy close delete
         complex real imag panic recover
         print println

這里列出的比 go圣經 里多了幾個類型和函數,不知道什么時候加的,具體查看 官方文檔

聲明

目前就4個關鍵詞用于聲明,var 變量聲明,const 常量聲明,type 類型聲明,func 函數聲明。

變量

變量聲明的一般語法如下:

var 變量名字 類型 = 表達式

其中 “類型” 或 “= 表達式” 兩個部分可以省略其中的一個。

var a int = 1 // 聲明int型并初始化為 1
var b int // 聲明int型,默認初始值為 0
var c = 2 // 根據值類型聲明為int型初始化為 2

簡短變量聲明

語法: 名字 := 表達式

變量類型根據表達式值自動推導。

要特別注意 := 是聲明, = 是賦值,不能搞混。

a := 1
b := "str" 
c := a+1

指針

其實也差不多,但是這里的指針比 c 的簡單太多了,跟 php 的取地址差不多。

x := 1
p := &x
*p = 2

賦值

亮點在于可以同時賦值多個,函數也可以返回多個值,叫做 元組賦值。

變量 = 值
元組賦值 x, y = y, x

類型

語法: type 類型名字 底層類型

type Celsius float64    // 攝氏溫度
type Fahrenheit float64 // 華氏溫度

為什么聲明類型?除了可以意義化描述之外,還可以為自定義類型綁定方法(原生類型不可以)。

具體以后研究..

作用域

這個貌似跟 es6 類似,塊級作用域,沒一個 {} 中都是獨立的域。。

小結

在這里看到了 es6,php 的影子,相對而言語法還是比較簡單易學的。繼續加油。。

來自: http://www.52cik.com/2016/04/20/go-notes-structure.html

 本文由用戶 cxfq3886 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!