初探Golang(1)-變量

要學習golang,當然要先配置好相關環境啦。

1. Go 安裝包下載

https://studygolang.com/dl
在Windows下,直接下載msi文件,在安裝界面選擇安裝路徑,然后一直下一步就行了。

在cmd下輸入

go version

即可看到go安裝成功

2. Goland安裝

https://www.jetbrains.com/go/download/download-thanks.html?platform=windows
在官網下載安裝包
在安裝界面選擇安裝路徑,然后一直下一步就行了。

3. 變量

Go語言是靜態強類型語言,所以變量是有明確類型的。變量實質上就是在內存中的一小塊空間,用來存儲特定類型的可變數據。如果沒有變量我們的程序中只能將數值寫死都是靜態的數據,我們無法更改,變量可以讓我們進行動態的操作。在數學概念中變量表示沒有固定的值,可以隨時改變的數。 例如:除數,減數與被減數等。

3.1 如何聲明變量

聲明一個變量的語法為:var name type,例如

var age int     //聲明 未賦值默認為0

語句 var age int 聲明了一個類型為 int,名稱為 age 的變量。在這里我們沒有給它賦任何值。如果一個變量沒有被賦予任何值,Go 會自動將這個變量初始化為其類型的 0值

3.2 如何賦值

在聲明變量時可以指定其初始值。

聲明一個帶初值的變量的語法為:var name type = initialvalue,例如:

var age int     //聲明 未賦值默認為0
age = 18        //賦值//直接根據你所初始化的值,來推導出定義的數據類型
var name = "王鋼蛋"
name :="王鐵蛋"//簡短定義方式  聲明并賦值 
age := 10
var age = 10

Go語言支持根據數據推導數據類型的方法。所以在定義的時候可以不用寫數據類型,直接根據你所初始化的值,來推導出定義的數據類型。如果聲明一個變量時提供了初始值,Go可以根據該初始值來自動推導變量的類型。因此如果聲明變量時提供了初始值,就可以不必指定其類型。

也就是說,如果聲明變量的形式為:var name = initialvalue,Go將根據 initialvalue 自動推導變量 name 的類型。

3.3 多變量定義

多個變量可以在一條語句中聲明。

多變量聲明的語法為:var name1, name2 type = initialvalue1, initialvalue2,例如:

//var方式聲明多變量var a,b,c inta=1 b=2 c=3
//也可以寫在一行
var a1,a2,a3 int =10,20,30
//也可以省略類型 根據數據進行類型推導var a1,a2,a3 =10,20,"ago"
//如果是多種類型 也可以使用集合
var(a1 =""a2 =10
)

簡短定義方式定義多個變量。 需要注意的是,一個變量在程序中只能夠定義一次,重復定義就會報錯

3.4 速記聲明

Go 提供了另一種簡潔的聲明變量的方式。這種方式稱為速記聲明(shorthand declaratiion)。速記聲明使用 := 操作符來聲明變量。

速記聲明的語法為:name := initialvalue,例如:

age := 10age := 10

3.5 匿名變量

匿名變量也就是沒有名字的變量, 開發過程中可能會遇到有些變量不是必須的。匿名變量使用下劃線" _ " 表示。 “_” 也稱為空白標識符,任何類型都可以使用它進行賦值,而且任何類型賦值后都將直接被拋棄,所以在使用匿名變量時,表示后續代碼不需要再用此變量

3.6 變量的作用域

變量在程序中有一定的作用范圍,如果一個變量聲明在函數體的外部,這樣的變量被認為是全局變量,全局變量在整個包內,也就是當前的package內都可以被調用得到。如果變量定義在函數體內部,則被稱之為局部變量

注意:

  • 相同的作用域內, 無論是全局變量還是局部變量, 都不能出現同名的變量
  • 變量離開作用域就不能使用
  • 局部變量如果沒有使用, 編譯會報錯, 全局變量如果沒有使用, 編譯不會報錯
  • :=只能用于局部變量, 不能用于全局變量
  • :=如果用于同時定義多個變量, 會有退化賦值現象,如果通過:=定義多個變量, 但是多個變量中有的變量已經在前面定義過了, 那么只會對沒有定義過的變量執行:=, 而定義過的變量只執行=操作

例如:

num2 := 123
num2, value2 := 456, 789
fmt.Printf("%d, %d", num2, value2)        //456, 789

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/391423.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/391423.shtml
英文地址,請注明出處:http://en.pswp.cn/news/391423.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

macaca web(4)

米西米西滴,吃過中午飯來一篇,話說,上回書說道macaca 測試web(3),參數驅動來搞,那么有小伙本又來給雷子來需求, 登錄模塊能不能給我給重新封裝一下嗎, 我說干嘛封裝&…

linux中安裝cx_Oracle

https://blog.csdn.net/w657395940/article/details/41144225 各種嘗試都,最后 pip install cx-Oracle 成功導入 轉載于:https://www.cnblogs.com/gcgc/p/11447583.html

rfm模型分析與客戶細分_如何使用基于RFM的細分來確定最佳客戶

rfm模型分析與客戶細分With some free time at hand in the midst of COVID-19 pandemic, I decided to do pro bono consulting work. I was helping a few e-commerce companies with analyzing their customer data. A common theme I encountered during this work was tha…

leetcode 208. 實現 Trie (前綴樹)

Trie(發音類似 “try”)或者說 前綴樹 是一種樹形數據結構,用于高效地存儲和檢索字符串數據集中的鍵。這一數據結構有相當多的應用情景,例如自動補完和拼寫檢查。 請你實現 Trie 類: Trie() 初始化前綴樹對象。 void…

那些年收藏的技術文章(一) CSDN篇

#Android ##Android基礎及相關機制 Android Context 上下文 你必須知道的一切 Android中子線程真的不能更新UI嗎? Android基礎和運行機制 Android任務和返回棧完全解析,細數那些你所不知道的細節 【凱子哥帶你學Framework】Activity啟動過程全解析 【凱子…

chrome json插件_如何使用此免費的Chrome擴展程序(或Firefox插件)獲取易于閱讀的JSON樹

chrome json插件JSON is a very popular file format. Sometimes we may have a JSON object inside a browser tab that we need to read and this can be difficult.JSON是一種非常流行的文件格式。 有時我們可能需要在瀏覽器選項卡中包含一個JSON對象,這很困難。…

test10

test10 轉載于:https://www.cnblogs.com/Forever77/p/11447638.html

數據倉庫項目分析_數據分析項目:倉庫庫存

數據倉庫項目分析The code for this project can be found at my GitHub.該項目的代碼可以在我的GitHub上找到 。 介紹 (Introduction) The goal of this project was to analyse historic stock/inventory data to decide how much stock of each item a retailer should hol…

leetcode 213. 打家劫舍 II(dp)

你是一個專業的小偷,計劃偷竊沿街的房屋,每間房內都藏有一定的現金。這個地方所有的房屋都 圍成一圈 ,這意味著第一個房屋和最后一個房屋是緊挨著的。同時,相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一…

HTTP緩存的深入介紹:Cache-Control和Vary

簡介-本文范圍 (Introduction - scope of the article) This series of articles deals with caching in the context of HTTP. When properly done, caching can increase the performance of your application by an order of magnitude. On the contrary, when overlooked o…

059——VUE中vue-router之路由嵌套在文章系統中的使用方法:

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>vue-router之路由嵌套在文章系統中的使用方法&#xff1a;</title><script src"vue.js"></script><script src"v…

web前端效率提升之瀏覽器與本地文件的映射-遁地龍卷風

1.chrome瀏覽器&#xff0c;機制是攔截url&#xff0c;      1.在瀏覽器Element中調節的css樣式可以直接同步到本地文件&#xff0c;反之亦然&#xff0c;瀏覽器會重新加載css&#xff0c;省去刷新   2.在source面板下對js的編輯可以同步到本地文件&#xff0c;反之亦然…

linux : 各個發行版中修改python27默認編碼為utf-8

該方法可解決robot報錯&#xff1a;ascii codec cant encode character u\xf1 in position 16: ordinal not in range(128) 在下面目錄中新增文件&#xff1a;sitecustomize.py 內容為 #codingutf-8 import sysreload(sys) sys.setdefaultencoding(utf8) 各個發行版放置位置&a…

歸因分析_歸因分析:如何衡量影響? (第2部分,共2部分)

歸因分析By Lisa Cohen, Ryan Bouchard, Jane Huang, Daniel Yehdego and Siddharth Kumar由 麗莎科恩 &#xff0c; 瑞安布沙爾 &#xff0c; 黃美珍 &#xff0c; 丹尼爾Yehdego 和 亞洲時報Siddharth庫馬爾 介紹 (Introduction) This is our second article in a series wh…

ubuntu恢復系統_Ubuntu恢復菜單:揭開Linux系統恢復神秘面紗

ubuntu恢復系統Don’t try to convince yourself otherwise: along with all the good stuff, you’re going to have bad days with Linux.否則&#xff0c;請不要試圖說服自己&#xff1a;與所有好的東西一起&#xff0c;您將在Linux上度過糟糕的日子。 You (or the users y…

linux與磁盤相關的內容

本節所講內容1.認識SAS-SATA-SSD-SCSI-IDE硬盤2.使用fdisk對磁盤進行操作&#xff0c;分區&#xff0c;格式化3.開機自動掛載分區4.使用parted操作大于等于4T硬盤5.擴展服務器swap內存空間 MBR(Master Boot Record)主引導記錄&#xff0c;也就是現有的硬盤分區模式。MBR分區的標…

leetcode 87. 擾亂字符串(dp)

使用下面描述的算法可以擾亂字符串 s 得到字符串 t &#xff1a; 如果字符串的長度為 1 &#xff0c;算法停止 如果字符串的長度 > 1 &#xff0c;執行下述步驟&#xff1a; 在一個隨機下標處將字符串分割成兩個非空的子字符串。即&#xff0c;如果已知字符串 s &#xff0c…

頁面布局

頁面布局兩大類&#xff1a;   主站&#xff1a; 1 <div classpg-header> 2 <div stylewidth:980px;margin:0 auto;> 3 內容自動居中 4 </div> 5 <div classpg-content></div> 6 <div classpg-footer></div&…

sonar:默認的掃描規則

https://blog.csdn.net/liumiaocn/article/details/83550309 https://note.youdao.com/ynoteshare1/index.html?id3c1e6a08a21ada4dfe0123281637e299&typenote https://blog.csdn.net/liumiaocn/article/details/83550309 文本版&#xff1a; soanr規則java版 …

多變量線性相關分析_如何測量多個變量之間的“非線性相關性”?

多變量線性相關分析現實世界中的數據科學 (Data Science in the Real World) This article aims to present two ways of calculating non linear correlation between any number of discrete variables. The objective for a data analysis project is twofold : on the one …