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

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 閱讀(352) 評論(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>
            久久精品30| 国产精品高清网站| 欧美高清视频一二三区| 另类综合日韩欧美亚洲| 久久久久国产精品一区三寸| 久久久久高清| 欧美成人免费一级人片100| 模特精品在线| 亚洲精选91| 在线中文字幕一区| 亚洲欧美综合| 免费在线观看日韩欧美| 欧美精品aa| 国产日韩欧美精品在线| 亚洲第一天堂无码专区| 中文日韩欧美| 玖玖国产精品视频| 99国产一区二区三精品乱码| 亚洲尤物在线| 欧美成人精品在线| 国产欧美一区二区精品婷婷| 亚洲激情另类| 欧美在线1区| 亚洲国产日韩在线一区模特| 亚洲激情社区| 欧美一区二区在线免费播放| 美女视频黄a大片欧美| 国产精品入口夜色视频大尺度| 在线观看中文字幕不卡| 亚洲欧美日韩国产综合| 亚洲国产成人在线| 亚洲网址在线| 欧美巨乳在线| 亚洲福利精品| 久久久爽爽爽美女图片| 亚洲人成小说网站色在线| 99精品国产高清一区二区| 久久av资源网| 在线一区二区视频| 欧美精品色网| 亚洲精品少妇网址| 久久免费视频这里只有精品| 一本色道久久加勒比精品| 久久综合给合久久狠狠色| 国产精品自拍网站| 99视频超级精品| 欧美国产日韩一二三区| 久久精品国产999大香线蕉| 国产精品超碰97尤物18| 亚洲蜜桃精久久久久久久| 蜜桃av综合| 久久久久国产精品人| 国产欧美在线视频| 欧美一级大片在线免费观看| 一区二区av| 欧美日韩国产精品一区| 亚洲精品综合精品自拍| 亚洲大胆在线| 欧美成人精品在线播放| 亚洲人成在线观看| 欧美激情在线有限公司| 猛男gaygay欧美视频| 亚洲成色www8888| 久久中文字幕一区| 久久精品亚洲一区| 一区二区在线视频播放| 久久免费观看视频| 久久久www成人免费精品| 国产最新精品精品你懂的| 亚洲欧美日本国产有色| 亚洲欧美在线aaa| 国产一区二区三区高清| 久久久久青草大香线综合精品| 欧美综合国产精品久久丁香| 国内成人精品一区| 欧美激情自拍| 欧美日韩国产专区| 亚洲性视频网址| 欧美一区二区久久久| 在线播放日韩专区| 亚洲高清二区| 欧美日本中文字幕| 欧美在线免费播放| 久久久久免费观看| 中文一区二区| 午夜精品久久久久久久99樱桃 | 国产精品久久77777| 亚洲欧美日韩爽爽影院| 性久久久久久久久久久久| 9色国产精品| 国产一区白浆| 亚洲国产91精品在线观看| 欧美体内she精视频| 国自产拍偷拍福利精品免费一| 美女尤物久久精品| 欧美日韩高清免费| 久久久999精品免费| 亚洲电影免费在线| 国产精品久久久久久av下载红粉| 亚洲欧美福利一区二区| 欧美在线观看视频一区二区三区| 午夜精品视频在线观看| 亚洲精品日韩在线观看| 亚洲女同性videos| 亚洲黄色片网站| 一区二区黄色| 136国产福利精品导航| 中文网丁香综合网| 亚洲国产综合视频在线观看 | 麻豆九一精品爱看视频在线观看免费| 日韩手机在线导航| 欧美在线视频观看免费网站| 一本久久青青| 欧美不卡在线视频| 国产精品一区二区三区乱码| 亚洲国产美女久久久久| 国产欧美丝祙| 亚洲在线第一页| 日韩一区二区精品葵司在线| 欧美一区二区三区四区在线| 亚洲一区二区三区视频| 久久嫩草精品久久久精品| 午夜激情一区| 欧美欧美全黄| 欧美本精品男人aⅴ天堂| 国产美女精品视频| 亚洲人妖在线| 永久久久久久| 午夜精品免费| 亚洲天堂成人| 欧美日韩国产在线一区| 欧美高清视频在线播放| 一区二区三区视频在线看| 亚洲国产另类 国产精品国产免费| 欧美一区二区国产| 久久久www| 好看的亚洲午夜视频在线| 亚洲一区二区三区乱码aⅴ| 亚洲午夜精品久久久久久浪潮| 欧美日本高清| 艳妇臀荡乳欲伦亚洲一区| 欧美激情区在线播放| 亚洲黄色免费电影| 亚洲电影免费观看高清完整版在线 | 先锋影音国产精品| 欧美日韩一区二区在线视频| 91久久极品少妇xxxxⅹ软件| 91久久黄色| 久久嫩草精品久久久精品一| 免费在线亚洲| 亚洲乱码国产乱码精品精天堂 | 欧美一区二区三区在线看| 欧美日韩在线视频观看| 亚洲天堂网站在线观看视频| 欧美精品国产精品| 亚洲美女一区| 亚洲视频1区| 国产女主播一区| 久久综合九色综合网站| 免费91麻豆精品国产自产在线观看| 国产一区二区在线观看免费播放| 亚洲午夜视频| 久久视频精品在线| 亚洲精品视频免费观看| 欧美精品三级| 香蕉久久国产| 欧美高清成人| 欧美在线视频a| 亚洲人成毛片在线播放| 欧美日韩精品欧美日韩精品一| 一区二区精品| 久久九九久久九九| 亚洲国产一二三| 欧美日韩一卡| 久久精品国产综合| 亚洲精品国精品久久99热一| 欧美在线www| 欧美精品少妇一区二区三区| 亚洲靠逼com| 久久精品30| 99国产麻豆精品| 国产乱人伦精品一区二区| 久久一二三区| 这里只有精品丝袜| 噜噜噜噜噜久久久久久91| 亚洲午夜成aⅴ人片| 尤物yw午夜国产精品视频| 欧美日韩高清不卡| 久久av免费一区| 一区二区免费看| 美国十次成人| 欧美一区二区视频97| 亚洲精品欧洲| 伊人成年综合电影网| 国产精品裸体一区二区三区| 欧美激情第三页| 欧美专区18| 在线综合视频| 91久久久精品| 久久精品导航|