青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

zhiye_wang

向星空仰望的越深,越發現自己的渺小

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  31 隨筆 :: 1 文章 :: 2 評論 :: 0 Trackbacks

Go 語言教程筆記(一)

一 Go 語言環境設置 

本地環境設置

在這里我們介紹設置Go編程語言環境,需要在你的計算機上的準備以下兩個軟件,(A)文本編

輯器和(B)Go編譯器。

文本編輯器

我的環境是ubuntu,直接用 vim

Go編譯器

ubuntu下面直接安裝

# apt-get install golang


例子:

# vim hello.go

  1 package main

  2 

  3 import fmt "fmt"

  4 

  5 func main() {

  6     fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界 ");

  7 }                                                                        

go語言中如果有if等后面需要跟大括號的語句,強制使用大擴號跟if寫在一行


編譯運行:

# go run hello.go 

Hello, world; or Καλημέρα κόσμε; or こんにちは 世界


二 Go 語言程序結構 

在我們學習Go編程語言的基本構建模塊,看看一個最低限度的Go程序結構,這樣我們

就可以把它作為即將到來的章節的參考。

Go 程序包含以下部分

包聲明

導入包

函數

變量

語句和表達式

注釋

例如:

 1 package main

  2 

  3 import fmt "fmt"

  4 

  5 func main() {

  6     fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界 ");

  7 }  

第一行定義了這個程序包的名稱。這是一個必須聲明為Go程序運行在什么包。main包是起始

點來運行程序。每個包都有一個與之關聯的路徑和名稱。

下一行import "fmt" 是告訴編譯器去包含文件在包fmt的預處理命令。

下一行 func main()主要功能是為程序執行的開始。

如果有注釋,/*...*/會被編譯器被忽略,它已被加入到程序添加注釋。因此,這樣的行稱為程

序中的注釋。注釋也使用//類似于Java或C++注釋。

下一行 fmt.Println(...)是提供另一種功能,使消息“Hello, World!”要顯示在屏幕上。這

里fmt包已導出。


三 Go 語言的基本語法

標識符

Go語言不允許標識符中的標點字符,如@,$和%。

Go是一種區分大小寫的編程語言

Manpower 和 manpower 在Go中是兩個不同的標識符

標識符開始以字母A到Z或a到z或下劃線_后跟零個或多個字母,下劃線和數字(0?9)

關鍵詞

下面的列表顯示了Go的保留字。這些保留的字可以不被用作常量或變量,或任何其他的標識符

名稱。

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 中空白格

僅包含空格,可能與注釋行,被稱為一個空行,Go編譯器完全忽略它。

var age int;

必須有至少一個空白字符(通常是一個空格)int和age之間的編譯器,以便能夠區分它們

fruit = apples + oranges;   // get the total fruit

fruit和=之間或=和apples,雖然是自由的,如果想便于閱讀的目的,最好包括一些空格


四 Go 語言數據類型

在Go編程語言,數據類型指用于聲明變量或不同類型的功能的廣泛的系統。變量的類型決定了

有多少空間占用的存儲和存儲方式的位模式將被解釋。

Go的數據類型可分類如下:

Boolean Types

它們是布爾類型,它由兩個預定義的常量:(a) true (b) false

Numeric Types

它們是算術類型,表示整數類型或b。在整個程序浮點值

string types:

一個字符串類型代表組字符串值。它的值是一個字節序列。字符串是一次創造了穩定的類型,

這是不可能改變一個字符串的內容。預聲明的字符串類型為字符串。

Derived types:

它們包括:(a)指針類型,(b)數組類型,(c)結構類型,(d)聯盟類型及(e)函數類型(f)切片類(g)

函數類型(h)接口類型(i)地圖類型(j)管道類型。

數組類型和結構類型被統稱為聚合類型。函數的類型指定的一組具有相同的參數和結果類型所

有函數。

整數

1 uint8

8位無符號整數 (0 - 255)

2 uint16

16位無符號整數 (0 - 65535)

3 uint32

32位無符號整數 (0 - 4294967295)

4  uint64

64位無符號整數 (0 - 18446744073709551615)

5  int8

有符號8位整數 (-128 - 127)

6  int16

有符號16位整數 (-32768 - 32767)

7  int32

有符號的32位整數 (-2147483648 - 2147483647)

8  int64

有符號的64位整數 (-9223372036854775808 - 9223372036854775807)

浮點類型

1  float32

IEEE-754 32-bit 浮點數

2  float64

IEEE-754 64-bit 浮點數

3  complex64

復數與float32實部和虛部

4  complex128

復數與float64實部和虛部

其他數值類型

1  byte

相同于 uint8

2  rune

相同于 int32

3  uint

32 或 64 位

4  int

相同于 uint 的大小

5  uintptr

一個無符號整數來存儲指針值的解釋的比特位


五 Go 語言變量

變量是什么,只不是給定到存儲區域,我們的程序可以操縱的名稱。在Go中每個變量具有特定

的類型,它確定的大小和可變的存儲器的布局;能確定存儲器內存儲的值的范圍;和組操作可以施

加到變量。

一個變量名可以由字母,數字和下劃線。它必須以字母或下劃線。大寫和小寫字母是不同的,因

為Go是區分大小寫的。基于該基本類型在前面的章節中說明的那樣,將有以下基本變量類型:

byte  通常單個字節(一個字節),這是一個字節的類型

int  整數最自然的尺寸的機器

float32  單精度浮點值

Go編程語言也可以定義各種其他類型的變量,我們將在以后的章節列出,如:枚舉,指針,數

組,結構,聯合,等等。

Go中變量定義

var variable_list optional_data_type;

optional_data_type可以包括字節,整型,float32,complex64,布爾或任何用戶定義的對象

等有效Go的數據類型,variable_list可以由用逗號分隔的一個或多個標識符名稱。一些有效的聲

明如下所示:

var    i, j, k int;

var   c, ch byte;

var  f, salary float32;

d = 42;

var i, j, k; 既聲明并定義了變量i,j和k;這指示編譯器創建一個名為i,j和k的 int類型變量。變量

可以再聲明時候初始化。變量的類型是由編譯器自動根據傳遞給它的值判斷。

variable_name = value;

d = 3, f = 5;    // declaration of d and f. Here d and f are int 

對于沒有初始化定義:具有靜態存儲時間變量的隱含零初始化(所有字節的值為0);所有其它變量

的初始值是它們的數據類型的零值。

靜態類型聲明

package main

import "fmt"

func main() {

   var x float64

   x = 20.0

   fmt.Println(x)

   fmt.Printf("x is of type %T ", x)

}

編譯運行結果是:

20

x is of type float64

動態類型聲明/類型推斷

示例

試試下面的例子,其中的變量已經聲明沒有任何類型的,并已確定在主函數中初始化。如果類型推斷的,我們已經初始化的變量y使用:=運算符,x初始化使用=運算符。

package main

import "fmt"

func main() {

   var x float64 = 20.0

   y := 42 

   fmt.Println(x)

   fmt.Println(y)

   fmt.Printf("x is of type %T ", x)

   fmt.Printf("y is of type %T ", y)  

}

編譯和運行上面的程序,這將產生以下結果:

20

42

x is of type float64

y is of type int

混合變量聲明

不同類型的變量可以一步到位使用類型推斷聲明。

package main

import "fmt"

func main() {

   var a, b, c = 3, 4, "foo"  

   fmt.Println(a)

   fmt.Println(b)

   fmt.Println(c)

   fmt.Printf("a is of type %T ", a)

   fmt.Printf("b is of type %T ", b)

   fmt.Printf("c is of type %T ", c)

}

編譯和運行上面的程序,這將產生以下結果:

3

4

foo

a is of type int

b is of type int

c is of type string

posted on 2016-03-28 15:33 zhiye_wang 閱讀(370) 評論(0)  編輯 收藏 引用 所屬分類: docker
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            先锋影音久久久| 亚洲欧美视频一区| 欧美成人四级电影| 久久精品91| 精品99一区二区| 欧美高清视频在线播放| 免费亚洲网站| 一区二区三区av| 这里只有精品电影| 国产日产亚洲精品| 老司机午夜精品视频| 免费中文日韩| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 欧美v日韩v国产v| 欧美aaa级| 亚洲在线网站| 久久久久久国产精品mv| 亚洲欧洲精品一区二区三区不卡 | 亚洲一二三级电影| 亚洲欧美经典视频| 在线不卡中文字幕播放| 亚洲麻豆国产自偷在线| 国产精品入口麻豆原神| 免费欧美电影| 国产精品高清在线| 欧美成人免费在线观看| 欧美三级中文字幕在线观看| 久久精品99久久香蕉国产色戒| 蜜桃av一区二区三区| 亚洲欧美另类综合偷拍| 久热精品视频在线| 午夜精品福利一区二区三区av| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲一区二区欧美| 久久尤物视频| 欧美一区二区三区四区夜夜大片 | 亚洲永久精品大片| 亚洲激情成人在线| 欧美一级网站| 一区二区三区精密机械公司| 久久久国际精品| 亚洲欧美精品在线| 欧美黄色成人网| 老色批av在线精品| 国产精品一区在线观看| 欧美激情第二页| 国产亚洲成av人片在线观看桃 | 欧美一区亚洲二区| 欧美精品网站| 欧美高清在线视频| 国产一区二区三区直播精品电影| 日韩小视频在线观看| 亚洲欧洲综合另类| 久久久久久久久久久一区| 午夜精品影院| 国产精品家教| 一区二区三区欧美视频| 99v久久综合狠狠综合久久| 老司机免费视频一区二区三区| 欧美呦呦网站| 国产精品亚洲综合色区韩国| 一本久道久久久| 亚洲无线视频| 欧美日韩中文字幕精品| 亚洲精品小视频| 亚洲天堂久久| 国产精品成人一区| 国产精品99久久久久久人| 亚洲视频第一页| 欧美性事在线| 亚洲欧美美女| 久久精品国产99国产精品| 国产日韩欧美91| 欧美一区二区高清| 久久久亚洲人| 亚洲国产另类久久久精品极度| 蜜桃伊人久久| 亚洲精品乱码久久久久| 亚洲欧洲精品一区二区三区不卡 | 亚洲调教视频在线观看| 欧美日韩国产在线观看| 日韩亚洲综合在线| 性娇小13――14欧美| 国产午夜亚洲精品理论片色戒| 久久都是精品| 91久久精品美女| 亚洲制服欧美中文字幕中文字幕| 国产精品va在线播放| 亚洲欧美综合另类中字| 久久伊人一区二区| 亚洲人成网站影音先锋播放| 欧美日韩天天操| 午夜日韩激情| 欧美二区在线看| 亚洲一区在线观看免费观看电影高清| 国产精品久久久久久久久久尿 | 亚洲成色最大综合在线| 一区二区毛片| 国内精品久久久久影院色| 麻豆国产精品一区二区三区| 99视频有精品| 免费亚洲电影在线观看| 99精品视频免费观看| 国产乱码精品1区2区3区| 久久综合一区| 亚洲一区3d动漫同人无遮挡| 久久综合福利| 亚洲香蕉网站| 一区二区三区自拍| 国产精品成人观看视频免费| 久久精品免费看| 亚洲少妇自拍| 亚洲高清不卡在线| 久久精品欧洲| 亚洲综合二区| 亚洲精品美女在线观看| 国产精品视频专区| 欧美国产高潮xxxx1819| 欧美一区二区三区啪啪| 亚洲裸体视频| 亚洲国产成人porn| 久久一区二区三区国产精品 | 国外成人在线视频| 国产精品v欧美精品∨日韩| 久久久人成影片一区二区三区观看 | 亚洲乱码久久| 免费看黄裸体一级大秀欧美| 久久se精品一区精品二区| 洋洋av久久久久久久一区| 亚洲大片免费看| 好吊视频一区二区三区四区| 国产精品乱子乱xxxx| 欧美人与禽猛交乱配| 欧美不卡在线| 老**午夜毛片一区二区三区| 欧美在线中文字幕| 午夜精品理论片| 亚洲一区一卡| 亚洲综合精品自拍| 亚洲欧美日韩精品一区二区| 亚洲色图制服丝袜| 一本色道久久综合亚洲精品高清| 91久久国产综合久久91精品网站| 欧美成人一区二免费视频软件| 久久亚洲视频| 免费在线欧美黄色| 欧美成人资源网| 亚洲电影网站| 亚洲精品中文字幕女同| 亚洲久久成人| 一区二区福利| 亚洲在线中文字幕| 午夜精品偷拍| 久久亚洲春色中文字幕| 免费在线国产精品| 欧美精品久久久久久久免费观看 | 日韩一级视频免费观看在线| 亚洲精品免费在线播放| 亚洲美女毛片| 亚洲视频在线观看三级| 亚洲欧美成aⅴ人在线观看| 亚洲免费在线电影| 欧美在线不卡| 欧美成人资源网| 日韩午夜在线播放| 亚洲免费在线视频| 久久久人成影片一区二区三区观看| 久久香蕉精品| 欧美日韩免费区域视频在线观看| 国产精品久久午夜| 在线观看视频一区| 亚洲免费久久| 欧美在线免费视屏| 亚洲电影免费观看高清完整版| 亚洲精品日韩综合观看成人91| 亚洲一区二区三区影院| 久久久久久久久久码影片| 欧美日韩国产不卡在线看| 国产精品一区久久久| 91久久线看在观草草青青| 亚洲欧洲av一区二区| 久久综合九色欧美综合狠狠| 亚洲全部视频| 久久se精品一区精品二区| 欧美精品久久天天躁| 国产欧美日韩三区| 亚洲精品日韩在线观看| 欧美专区在线观看| 91久久视频| 久久精品视频播放| 欧美日韩免费一区二区三区视频| 国内一区二区在线视频观看| 在线视频精品| 欧美二区在线看| 欧美主播一区二区三区| 欧美午夜影院| 亚洲另类在线视频| 免费一区二区三区| 欧美一区二区大片| 国产精品第一区|