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

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>
            欧美国产欧美综合| 一区二区在线视频播放| 午夜久久久久| 亚洲春色另类小说| 国产亚洲免费的视频看| 国产欧美日韩精品在线| 国产精品theporn| 欧美日韩精品系列| 欧美视频官网| 韩国成人福利片在线播放| 免费观看成人网| 亚洲美女视频在线观看| 亚洲视频久久| 先锋a资源在线看亚洲| 久久激情网站| 欧美第十八页| 亚洲片国产一区一级在线观看| 亚洲激情视频在线观看| 一区二区三区久久| 欧美一区视频在线| 男女视频一区二区| 一区二区三区欧美在线观看| 小处雏高清一区二区三区| 久久se精品一区二区| 免费亚洲一区| 国产精品日日摸夜夜摸av| 激情小说亚洲一区| 亚洲日本激情| 午夜精品久久| 欧美激情一区三区| 亚洲一区激情| 欧美日本精品一区二区三区| 国产精品成人一区二区| 亚洲国产欧洲综合997久久| 亚洲性感激情| 欧美二区在线看| 午夜精彩视频在线观看不卡| 欧美精品久久一区二区| 国产精品日日摸夜夜摸av| 亚洲欧洲另类国产综合| 久久久久久久成人| 欧美激情一区二区三区四区| 欧美一区国产一区| 欧美天堂在线观看| 亚洲精品视频一区| 免费观看亚洲视频大全| 亚洲欧美成人一区二区三区| 欧美激情一区二区久久久| 在线精品视频一区二区| 久久久久久尹人网香蕉| 亚洲欧美在线一区| 国产精品区一区| 亚洲主播在线观看| 国产精品99久久99久久久二8| 欧美精品久久久久久久| 亚洲免费观看高清完整版在线观看熊| 六十路精品视频| 久久久青草青青国产亚洲免观| 国产伊人精品| 久热精品视频在线观看一区| 久久99伊人| 狠狠色噜噜狠狠色综合久| 久久久久久久国产| 久久精品国产91精品亚洲| 国产亚洲欧美日韩美女| 久久久蜜桃精品| 久久婷婷人人澡人人喊人人爽| 黄色成人在线网站| 欧美日韩国产精品一卡| 宅男精品视频| 亚洲大胆视频| 久久综合中文字幕| 亚洲破处大片| 日韩亚洲欧美精品| 国产精品伦子伦免费视频| 久久99在线观看| 久久九九热免费视频| 亚洲成色www8888| 亚洲国产精品www| 欧美日韩综合一区| 欧美一区二区三区四区在线观看地址 | 欧美一区在线看| 国内成人在线| 亚洲国产成人不卡| 欧美色道久久88综合亚洲精品| 午夜精品久久久久99热蜜桃导演| 亚洲永久在线观看| 在线成人性视频| 夜色激情一区二区| 国产一区成人| 亚洲精品综合精品自拍| 国产夜色精品一区二区av| 欧美福利一区二区| 国产精品高精视频免费| 久久婷婷久久| 欧美色图首页| 欧美a级片网站| 国产精品亚洲综合一区在线观看| 久久综合国产精品台湾中文娱乐网| 欧美成人一品| 久久免费一区| 国产精品v欧美精品∨日韩| 鲁大师成人一区二区三区| 欧美日韩一区在线观看| 欧美www在线| 国产欧美一区二区精品秋霞影院| 亚洲国产高清自拍| 国内综合精品午夜久久资源| 亚洲精品欧美在线| 亚洲成人影音| 欧美一区二视频| 亚洲欧美日韩国产综合| 欧美aⅴ一区二区三区视频| 久久不射2019中文字幕| 欧美日韩午夜精品| 亚洲国产一区二区在线| 一区免费视频| 欧美在线一二三| 欧美影院成人| 国产精品剧情在线亚洲| 亚洲黄色天堂| 亚洲激情视频在线播放| 久久久人成影片一区二区三区| 校园激情久久| 国产精品久久久久久户外露出| 最新日韩在线视频| 欧美在线看片a免费观看| 亚洲精品久久久久久久久久久| 国产一区二区三区日韩| 中文一区二区在线观看| 日韩亚洲欧美在线观看| 免费国产自线拍一欧美视频| 久久久久国色av免费观看性色| 国产精品久久毛片a| 亚洲精品欧美日韩| 在线视频中文亚洲| 欧美日韩国产美| 99re6这里只有精品视频在线观看| 亚洲精品美女在线观看| 欧美国产亚洲精品久久久8v| 亚洲国产精品成人精品| 亚洲免费电影在线观看| 欧美日韩视频在线一区二区 | 国产精品免费观看在线| 一本大道av伊人久久综合| 亚洲午夜精品福利| 国产精品久久综合| 香蕉久久夜色精品| 久久综合亚州| 亚洲欧洲一区二区天堂久久| 欧美精品一区二| 在线一区二区日韩| 午夜在线一区| 国产在线播放一区二区三区| 久久久久久久高潮| 亚洲电影免费观看高清完整版在线观看 | 美女网站在线免费欧美精品| 欧美承认网站| 一本一本大道香蕉久在线精品| 欧美视频在线播放| 亚洲欧美日韩一区二区在线| 久久在线免费观看视频| 亚洲黄色大片| 国产精品xxxxx| 久久成人免费| 亚洲精品欧美专区| 久久久久久999| 一区二区三区导航| 国产欧美 在线欧美| 噜噜噜噜噜久久久久久91| 亚洲精品一区二区网址| 欧美一区二区三区精品电影| 亚洲电影av| 国产精品视频区| 欧美—级在线免费片| 午夜亚洲性色福利视频| 欧美黄色大片网站| 欧美一区二区免费| 日韩视频亚洲视频| 国产一区二区主播在线| 欧美日韩国产综合视频在线观看| 欧美一区二区福利在线| 99re热这里只有精品视频| 欧美va亚洲va国产综合| 欧美一站二站| 一区二区福利| 亚洲第一区中文99精品| 国产午夜精品美女视频明星a级| 欧美精品一区二区三区高清aⅴ| 久久天天躁夜夜躁狠狠躁2022| 亚洲激情国产精品| 一本一道久久综合狠狠老精东影业 | 久久高清福利视频| 一区二区日韩免费看| 欧美黑人在线观看| 玖玖综合伊人| 久久精品一区| 欧美亚洲在线观看| 一区二区高清在线观看| 亚洲人成免费|