您好,登錄后才能下訂單哦!
前言
本文主要介紹了關于go語言之包和變量的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
一、包的概念
包是go語言中不可缺少部分,在每個go源碼的第一行進行定義,定義方式是:package "包名",并且該名稱是作為調用該包時候所使用的名稱。
包的概念總結:
二、包的引入
1.包引入的方法
方法一:
import "fmt" import "os"
方法二:
import "fmt"; import "os"
方法三(推薦!)
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 main import ( "fmt" "day02/eg1" /* 引入包 */ ) func main() { add.Sum(2,3) /* 調用包 */ fmt.Println("Hello, World!") }
圖示:
二、變量
1.單個變量的聲明
go語言中,所有變量都必須先聲明在使用,下面是聲明變量和賦值方法:
示例:
package main import "fmt" func main() { var a string /* 聲明一個變量名為a,類型為字符串的變量 */ a = "wd" /* 對a變量賦值*/ var age int = 22 /* 聲明并賦值變量 */ fmt.Println(a,age) }
2.多個變量聲明
示例:
package main import "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 main import "fmt" func main() { var ( a int //默認值為0 b string // 默認值為空字符串("") c = 3 ) fmt.Println(a,b,c) }
3.變量名
命名原則:
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 main import "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) }
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。