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

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>
            欧美专区在线观看| 久久精品国产77777蜜臀| 美日韩精品视频免费看| 亚洲嫩草精品久久| 国产日韩精品入口| 久久久www| 狂野欧美激情性xxxx欧美| 一区二区在线观看视频| 美女脱光内衣内裤视频久久影院 | 久久久视频精品| 欧美有码在线观看视频| 黄色成人在线网址| 欧美国产日韩一区二区在线观看| 麻豆91精品| 亚洲一区二区三区在线| 亚洲男女自偷自拍| 亚洲国产精品一区二区第四页av| 亚洲电影免费在线观看| 欧美久色视频| 欧美在线视频全部完| 久久一二三四| 亚洲性图久久| 久久精品亚洲一区| 亚洲另类一区二区| 亚洲女同精品视频| 亚洲高清一区二| 一区二区精品在线| 狠狠综合久久av一区二区老牛| 欧美国产高清| 国产欧美一区二区精品性色| 欧美大秀在线观看| 国产精品乱子久久久久| 美日韩精品免费观看视频| 欧美日本高清| 久久香蕉国产线看观看网| 欧美全黄视频| 久久久久在线观看| 国产精品爱啪在线线免费观看| 久久亚洲精品中文字幕冲田杏梨| 欧美精品播放| 免费试看一区| 国产网站欧美日韩免费精品在线观看| 亚洲高清免费在线| 精品成人一区二区三区四区| 99这里只有精品| 亚洲黑丝在线| 久久精品国产亚洲一区二区| 亚洲性人人天天夜夜摸| 欧美成人午夜| 免费在线观看一区二区| 国产日产欧产精品推荐色 | 欧美午夜宅男影院| 欧美成人中文| 国产综合视频| 亚洲制服av| 亚洲网站视频| 欧美日韩高清免费| 欧美国产三区| 一区三区视频| 久久gogo国模啪啪人体图| 亚洲欧美bt| 欧美午夜精品久久久久久久| 亚洲欧洲一区二区三区| 亚洲黄色在线| 久久综合给合久久狠狠色| 久久影院午夜片一区| 国内成人精品视频| 欧美在线视频观看免费网站| 欧美在线黄色| 国产视频欧美| 久久久不卡网国产精品一区| 久久久欧美一区二区| 国产一区视频在线观看免费| 欧美一区二区性| 久久久综合网站| 一区二区在线视频| 免费欧美在线视频| 亚洲国产视频a| 一区二区三区国产在线| 欧美日韩在线视频一区| 一道本一区二区| 香蕉成人啪国产精品视频综合网| 国产精品一区二区久久久久| 午夜免费久久久久| 免费欧美视频| 一本大道久久精品懂色aⅴ| 欧美视频在线观看免费网址| 亚洲一区二区三区在线看| 久久精品国产2020观看福利| 在线精品视频一区二区三四| 欧美国产成人在线| 99这里有精品| 久久久久久久综合色一本| 亚洲黄色av一区| 欧美日韩亚洲一区二区三区四区| 中文久久乱码一区二区| 久久午夜国产精品| 亚洲精选中文字幕| 国产精品毛片在线| 久久久久一区二区| 日韩视频在线一区二区| 久久se精品一区二区| 亚洲福利一区| 国产精品男女猛烈高潮激情| 久久久久久网址| 日韩一级免费观看| 久久阴道视频| 亚洲综合国产| 1769国内精品视频在线播放| 欧美三级网址| 麻豆av一区二区三区久久| 夜夜爽99久久国产综合精品女不卡| 久久国产一区二区| 一本大道久久a久久精品综合| 国产一区二区按摩在线观看| 欧美福利电影在线观看| 欧美一区不卡| 一区二区三区视频在线观看| 欧美成人高清视频| 久久精品系列| 亚洲少妇诱惑| 亚洲精品国产精品久久清纯直播| 国产日韩欧美一二三区| 欧美精品日韩一本| 美女爽到呻吟久久久久| 篠田优中文在线播放第一区| 亚洲日本成人网| 欧美国产精品久久| 久久久久天天天天| 香蕉免费一区二区三区在线观看 | 国产精品一区二区久久精品| 欧美国产在线电影| 鲁鲁狠狠狠7777一区二区| 欧美一进一出视频| 亚洲欧美第一页| 在线视频欧美日韩精品| 亚洲精品国产拍免费91在线| 欧美www视频在线观看| 久久久久久电影| 久久精品官网| 久久国产免费| 久久成人精品| 久久国产88| 久久精品国产亚洲a| 欧美一区成人| 久久国产欧美精品| 久久久久成人精品| 久久久一本精品99久久精品66| 久久av一区二区三区| 欧美在线观看www| 久久九九有精品国产23| 久久国产主播| 蜜桃久久精品一区二区| 免播放器亚洲| 亚洲成色777777女色窝| 亚洲第一精品夜夜躁人人躁 | 欧美亚洲视频一区二区| 香蕉久久夜色精品| 久久久久国色av免费观看性色| 欧美一区激情视频在线观看| 久久九九精品| 欧美大片免费观看| 最新国产の精品合集bt伙计| 亚洲精品一区二区在线观看| 一本色道久久加勒比88综合| 亚洲一区二区在线播放| 午夜日本精品| 美女在线一区二区| 欧美日韩一区在线视频| 国产日韩免费| 亚洲精品午夜| 亚洲欧美国产77777| 久久久久成人精品免费播放动漫| 欧美成人中文字幕在线| 亚洲三级视频在线观看| 亚洲欧美日韩天堂一区二区| 久久久99国产精品免费| 欧美黄色一区二区| 国产麻豆午夜三级精品| 亚洲第一色中文字幕| 中文久久乱码一区二区| 久久婷婷色综合| 夜夜狂射影院欧美极品| 久久久久国产精品一区三寸| 欧美精品一区二区三区一线天视频| 国产精品久久综合| 亚洲高清免费视频| 亚洲欧美在线视频观看| 欧美a级一区二区| 亚洲一区二区三区激情| 免费一级欧美片在线播放| 国产精品久久久久久久久久妞妞| 影音先锋日韩精品| 欧美一区二粉嫩精品国产一线天| 免费一区二区三区| 亚洲免费在线电影| 欧美日韩精品综合| 亚洲国产裸拍裸体视频在线观看乱了| 午夜精品视频| 夜夜夜精品看看|