亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Golang > 正文

go語言學習之包和變量詳解

2020-04-01 18:56:52
字體:
來源:轉載
供稿:網友

前言

本文主要介紹了關于go語言之包和變量的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

一、包的概念

包是go語言中不可缺少部分,在每個go源碼的第一行進行定義,定義方式是:package "包名",并且該名稱是作為調用該包時候所使用的名稱。

包的概念總結:

  • 每個 Go 文件都屬于且僅屬于一個包。一個包可以由許多以 .go 為擴展名的源文件組成,因此文件名和包名可能不同,為了規范,功能相似或者屬于相同性質的源碼歸集到相同的包名中。
  • 每個應用程序都必須有且只有一個包名稱為main,他是該程序的入口,執行時候會尋找包名為main的代碼
  • 包與包之間可以被相互調用,主要為了減少代碼重復性
  • 包一旦被引入就需要被使用,除非引入的時候忽略它(前面加_表示忽略它,只是用它來初始化),如果引入了包,而在代碼中沒用使用,運行時候會報錯

二、包的引入

1.包引入的方法

方法一:

import "fmt"import "os"

方法二:

import "fmt"; import "os"

方法三(推薦?。?/p>

import ( "fmt" "os")

2.引入其他包

go語言中,引入包的路徑是根據GOPATH/src 這個環境變量作為相對路徑進行引入的,如果GOPATH存在多個,那么go將逐一尋找路徑,直到找到,若GOPATH/src未找到則編譯出錯。

示例:

我的GOPATH為:C:/Users/17647/Desktop/go_work/src

首先建立包文件1:C:/Users/17647/Desktop/go_work/src/day02/eg1/pkg.go(相對于GOPATH/src的路徑為day02/eg1/pkg.go)

內容如下:

package add import "fmt"func Sum(a int,b int) { var c int c = a + b fmt.Println("res",c) }

在main進行引入如下:

package mainimport ( "fmt" "day02/eg1" /* 引入包 */)func main() { add.Sum(2,3) /* 調用包 */ fmt.Println("Hello, World!")}

圖示:

go語言,包,變量

二、變量

1.單個變量的聲明

go語言中,所有變量都必須先聲明在使用,下面是聲明變量和賦值方法:

  • 先聲明后賦值: var <變量名稱> <變量類型>         賦值:變量的賦值格式: <變量名稱> = <表達式>
  • 聲明的同時賦值:var <變量名稱> <變量類型> = <表達式>   (簡寫為 變量名稱 :=  表達式)

示例:

package mainimport "fmt"func main() { var a string /* 聲明一個變量名為a,類型為字符串的變量 */ a = "wd" /* 對a變量賦值*/ var age int = 22 /* 聲明并賦值變量 */ fmt.Println(a,age)}

2.多個變量聲明

  • 先聲明后賦值:var <變量1>,<變量2>,<變量3>  <變量類型>     賦值 : <變量1>,<變量2> =  值1,值2
  • 聲明同時賦值 :var  <變量1>,<變量2> = 值1,值2   可簡寫為: <變量1>,<變量2> = 值1,值2
  • 多個變量還可以使用var()聲明

示例:

package mainimport "fmt"func main() { var a,b int a,b = 1,2 var c,d = 3,"wd" /* 類型自動推斷 */ e, f := 4, "hello" /* 簡寫 */ fmt.Println(a,b,c,d,e,f)}

使用var()聲明

package mainimport "fmt"func main() { var ( a int //默認值為0 b string // 默認值為空字符串("") c = 3  ) fmt.Println(a,b,c)}

3.變量名

命名原則:

  • 首字符可以是任意的Unicode字符或者下劃線
  • 剩余字符可以是Unicode字符、下劃線、數字
  • 不能作為用以下關鍵字作為變量名

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

4.可見性

可見性即對包外可見,當其他包調用當前包的變量時候是否允許可見(可訪問)。

  • 變量開頭字符大寫,表示可見
  • 變量開頭字母非大寫,則表示私有,不可見

 5.變量的作用域

  • 函數內定義的變量稱為局部變量,其作用域在函數內
  • 函數外定義的變量稱為全局變量,作用于整個包,并且該變量首字母大寫,則對其他包可見。

三、常量

常量是一個簡單值的標識符,在程序運行時,不會被修改的量。

常量中的數據類型只可以是布爾型、數字型(整數型、浮點型和復數)和字符串型。

定義常量語法:

const 名稱 類型 = value

多個常量定義語法:

const ( a = 0 //類型自動推倒 b = 1 c = 2)

iota解釋:

iota,特殊常量,可以認為是一個可以被編譯器修改的常量。

在每一個const關鍵字出現時,被重置為0,然后再下一個const出現之前,每出現一次iota,其所代表的數字會自動增加1。

iota 可以被用作枚舉值:

const ( a = iota b = iota c = iota)

第一個 iota 等于 0,每當 iota 在新的一行被使用時,它的值都會自動加 1;所以 a=0, b=1, c=2 可以簡寫為如下形式:

const ( a = iota b c)

用法:

package mainimport "fmt"func main() { const (   a = iota //0   b   //1   c   //2   d = "ha" //獨立值,iota += 1   e   //"ha" iota += 1   f = 100 //iota +=1   g   //100 iota +=1   h = iota //7,恢復計數   i   //8 ) fmt.Println(a,b,c,d,e,f,g,h,i)}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美老少做受xxxx高潮| 色偷偷88888欧美精品久久久| 国产视频精品在线| 国产精品福利网站| 色婷婷综合久久久久中文字幕1| 中文字幕日韩电影| 国产精品99久久久久久人| 久久久久久久亚洲精品| 91中文字幕在线观看| 2019亚洲男人天堂| 亚洲成av人乱码色午夜| 国产精品你懂得| 欧洲亚洲在线视频| 一道本无吗dⅴd在线播放一区| yw.139尤物在线精品视频| 日韩精品中文在线观看| 亚洲成人av中文字幕| 日韩亚洲精品视频| 亚洲国产一区二区三区四区| 国产91在线播放九色快色| 亚洲国产精品va在线| 欧美亚洲国产日韩2020| 色综合伊人色综合网| 国产亚洲日本欧美韩国| 91亚洲精品久久久| 亚洲成人av在线| 色中色综合影院手机版在线观看| 日本一欧美一欧美一亚洲视频| 欧美老肥婆性猛交视频| 欧美一级大片在线免费观看| 欧美另类极品videosbestfree| 日韩一二三在线视频播| 亚洲毛片在线看| 裸体女人亚洲精品一区| 久久成人免费视频| 亚洲天堂开心观看| 欧美午夜电影在线| 欧美有码在线视频| 久久久噜噜噜久久| 中文字幕国产亚洲2019| 国产精品成人免费视频| 日韩欧美中文第一页| 久久99精品久久久久久噜噜| 欧美性videos高清精品| 九九热精品视频| 欧美最顶级丰满的aⅴ艳星| 国产精品高潮粉嫩av| 亚洲人午夜色婷婷| 国模视频一区二区三区| 精品动漫一区二区| 国产亚洲欧美aaaa| 精品久久香蕉国产线看观看gif| 精品福利一区二区| 中日韩美女免费视频网址在线观看| 国产精品一香蕉国产线看观看| 久久久国产精品一区| xxxxxxxxx欧美| 亚洲欧美综合另类中字| 91精品国产91久久久久久不卡| 欧美日韩国产999| 成人免费激情视频| 欧美精品第一页在线播放| 亚洲精品wwww| 亚洲一区二区三区香蕉| 日本一区二区三区在线播放| 欧美国产精品va在线观看| 美女视频黄免费的亚洲男人天堂| 国产精品久久久久久久久久东京| 在线看片第一页欧美| 国产成人avxxxxx在线看| 国产久一一精品| 美女少妇精品视频| 亚洲精品国偷自产在线99热| 国产在线观看精品一区二区三区| 欧美激情一级欧美精品| 亚洲网站视频福利| www.欧美精品一二三区| 不卡在线观看电视剧完整版| 久久久久国产精品一区| 亚洲天堂av在线播放| 欧美电影院免费观看| 色午夜这里只有精品| 美女扒开尿口让男人操亚洲视频网站| 亚洲欧美国内爽妇网| 九九视频直播综合网| 北条麻妃在线一区二区| 欧美精品在线第一页| 日韩免费av在线| 国产成人精彩在线视频九色| 中文字幕一区日韩电影| 国产精品普通话| 亚洲美女av网站| 国产91ⅴ在线精品免费观看| 91精品国产高清| 最好看的2019的中文字幕视频| 国产最新精品视频| www.欧美视频| 色偷偷噜噜噜亚洲男人的天堂| 欧美在线精品免播放器视频| 在线观看91久久久久久| 久久精品国产电影| 欧美极品美女视频网站在线观看免费| 日韩精品在线观看视频| 欧美野外wwwxxx| 精品伊人久久97| 日本高清+成人网在线观看| 欧美日韩综合视频| 91国在线精品国内播放| 亚洲影院高清在线| 国产一区二区在线免费| 国产丝袜视频一区| 欧美亚洲一级片| 日韩欧美一区二区在线| 欧美另类交人妖| 色老头一区二区三区在线观看| 亚洲丝袜在线视频| 亚洲美女视频网站| 欧美电影免费播放| 精品国产拍在线观看| 国产欧美中文字幕| 久久综合久中文字幕青草| 亚洲精品欧美日韩| 国产亚洲精品91在线| 黑人极品videos精品欧美裸| 亚洲一级一级97网| 91po在线观看91精品国产性色| 国产成人精品视频在线观看| 一区二区欧美在线| 欧美国产日韩在线| 亚洲图片欧洲图片av| 一个色综合导航| 欧美激情视频一区二区| 青草青草久热精品视频在线观看| 国产精品27p| 亚洲石原莉奈一区二区在线观看| 久久久精品一区| 7777精品久久久久久| 欧美激情久久久久久| 成人www视频在线观看| 亚洲免费av片| 国产精品欧美日韩一区二区| 精品国产精品三级精品av网址| …久久精品99久久香蕉国产| 亚洲精品久久久久中文字幕欢迎你| 国产99在线|中文| 欧美激情手机在线视频| 欧美成人在线网站| 国产一区在线播放| 中文字幕亚洲综合久久筱田步美| 国产色婷婷国产综合在线理论片a| 欧美日韩在线观看视频| 久久国产精品电影| 国产精品久久久久久久久久小说| 欧美在线观看日本一区| 国产精品一区二区三| 国产精品2018| 北条麻妃99精品青青久久| 中文字幕久久久av一区| 91精品啪aⅴ在线观看国产| 最近日韩中文字幕中文| 一本色道久久88亚洲综合88| 97国产在线观看| 不卡av电影院| 国产精品精品国产|