成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇文章帶你了解Go語言基礎之變量

開發 后端
簡單點說,我們寫的程序默認數據都是保存在內存條中的,我們不可能直接通過地址找到這個變量,因為地址太長了,而且不容易記。

 [[347790]]

前言

Hey,大家好呀,我是星期八,這次咱們繼續學習Go基礎之變量叭。

為什么需要變量

簡單點說,我們寫的程序默認數據都是保存在內存條中的,我們不可能直接通過地址找到這個變量,因為地址太長了,而且不容易記。

通常我們是通過變量名找到對應的地址上面的值,再進行一系列操作。

 

變量類型

現在不管是什么語言,常用的變量分為以下類型。

  • 整數,1,6,2,8,4...
  • 浮點數,1.1,5.7767,23.99...
  • 布爾型,真,假
  • 字符串類型,"張三","李四"...
  • List
  • Map

大概會分為以上幾種類型,不過這個不用記,了解就好。

變量定義

聲明變量

格式如下。

  1. var 變量名 變量類型 
  2. 例如: 
  3. var age int 
  4. var gender bool 

批量聲明

上面聲明變量是一個一個聲明的,如果需要一次性聲明一些變量,可以這樣寫。

  1. var ( 
  2.     age int 
  3.     gender bool 
  4.     name string 
  5.     id int 
  6.     height int 
  7.     ... 

聲明時賦值

上述方式,只是聲明了變量,但是并沒有賦值,在后期需要時可以在賦值。

如果在聲明時,就確定值是什么,可以直接賦值。

格式如下。

  1. var 變量名 類型 = 值 
  2. 例如: 
  3. var age int = 18 
  4. var name string = "張三" 

在Go中的一個強制要求

在Go中,變量必須使用,至少需要fmt.Println(變量)。

 

類型推導方式聲明變量賦值

在上述聲明變量并且賦值時,還需要指定變量類型。

在Go,Go具有類型推導方式聲明時賦值變量。

  1. var age = 18 
  2. var name = "張三" 

其實就是變量名后面不用寫變量類型了。

:=方式變量賦值

在Go,還有一種更簡單的方式聲明變量賦值。

格式如下。

  1. age := 18 
  2. name := "張三" 

學過Python的可能有點開心了,除了多個一個:號,其他基本和Pyton定義變量方式一樣。

注意:

  1. age := 18 //本質是執行的兩句話 
  2. //同上 
  3. var age int 
  4. age = 18 

全局變量

簡單說就是,在最外面的定義的變量就是全局變量。

在Go中,全局變量是有要求的。

  1. package main 
  2.  
  3. //全局變量: 
  4. // 方式一,聲明全局變量,必須跟類型 
  5. //var age int 
  6.  
  7. //方式二,聲明變量且賦值,類型可以不用寫 
  8. //var age  = 18 
  9. //var age  int = 18 
  10.  
  11. //方式三,錯誤示例,全局變量要么只聲明變量,要么聲明就賦值 
  12. //var age int 
  13. //age =18 
  14.  
  15. //方式四,錯誤示例,:=方式聲明賦值 
  16. // 方式四其實就等于方式三的寫法,所以不能用在全局變量中 
  17. //age := 18 
  18.  
  19. func main() { 
  20.  

PS:全局變量要么只聲明,要么聲明時就賦值,不能寫兩行賦值,所以:=方式不能應用在全局變量中

匿名變量

匿名變量多用于函數返回值場景中,比如函數返回了倆值,倆值要第一個值,就可以使用匿名變量。

因為Go中,變量必須使用,如果某個變量需要忽略,使用_即可。

值得注意的是,匿名變量不會占用內存。

  1. package main 
  2. func get_info() (string, int) { 
  3.     return "張三", 18 
  4. func main() { 
  5.     //標準寫法 
  6.     //name, age := get_info() 
  7.     //fmt.Println(name, age) 
  8.  
  9.     //匿名變量方式 
  10.     //name, _ := get_info() 
  11.     //fmt.Println(name
  12.  
  13.     //_,age := get_info() 
  14.     //fmt.Println(age) 

常量

其實常量和變量基本一樣,但是常量是不能修改的。

通常常量以大寫定義。

  1. package main 
  2.  
  3. import "fmt" 
  4.  
  5. func main() { 
  6.     //單個聲明 
  7.   const PI1 int = 3 
  8.   const PI2 = 3.14 
  9.   //同時聲明多個 
  10.   const ( 
  11.     PI3 = 3.14 
  12.     PI4 = 3.14 
  13.   ) 
  14.   //同上聲明多個變量時,如果省略了值表示和上一行相同 
  15.   const ( 
  16.     girl1 = 18 
  17.     girl2 // 18,和上一行相同 
  18.     girl3 // 18,和上一行相同 
  19.     girl4 = 17 
  20.     girl5 // 17,和上一行相同 
  21.  
  22.   ) 
  23.   fmt.Println(girl3, girl5) 

注:常量聲明時就必須賦值

錯誤示例。

  1. package main 
  2.  
  3. func main() { 
  4.   const age int 
  5.   age = 18 
  6.     //error 

總結

上述我們學習了Go基礎之變量。

本文轉載自微信公眾號「Go語言進階學習」,可以通過以下二維碼關注。轉載本文請聯系Go語言進階學習公眾號。

 

責任編輯:武曉燕 來源: Go語言進階學習
相關推薦

2021-09-29 10:00:07

Go語言基礎

2021-10-13 10:00:52

Go語言基礎

2020-11-05 09:58:16

Go語言Map

2022-02-16 10:03:06

對象接口代碼

2020-10-22 08:33:22

Go語言

2020-11-11 10:52:54

Go語言C語言

2021-10-09 07:10:31

Go語言基礎

2022-04-27 10:01:43

切片Go封裝

2020-10-23 08:38:19

Go語言

2020-10-25 07:33:13

Go語言

2020-12-09 09:59:32

Go語言技術

2020-12-27 10:15:44

Go語言channel管道

2020-12-30 09:04:32

Go語言TCPUDP

2020-12-07 05:59:02

語言Go接口

2021-10-30 10:43:04

語言Go函數

2021-11-03 10:02:07

Go基礎函數

2023-09-06 14:57:46

JavaScript編程語言

2021-01-26 23:46:32

JavaScript數據結構前端

2021-10-16 10:17:51

Go語言數據類型

2020-12-23 08:39:11

Go語言基礎技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一级艳情片免费观看 | 日韩精品成人免费观看视频 | 久久青视频 | 亚洲综合久久久 | 久久久久久黄 | 精品国产一区二区三区四区在线 | 国产欧美久久精品 | 国产一区二区激情视频 | 视频一区二区在线 | 天天天操| 激情一区二区三区 | 久久精品国产一区二区三区 | 狠狠av| 欧美久| 亚洲精品丝袜日韩 | 欧美日韩在线视频一区二区 | 91看国产 | 国产精品一卡 | 中文字幕成人在线 | 99精品99| a黄毛片 | 欧美成人a| 国产精品久久久久久久久久免费看 | 鲁大师一区影视 | 久久久久久久久国产成人免费 | 国产精品欧美大片 | 午夜影院在线观看 | 亚洲免费网站 | 久久精品亚洲精品国产欧美kt∨ | 夜夜摸天天操 | 免费在线观看一区二区三区 | 成人福利网 | 7777精品伊人久久精品影视 | 国产精品伦一区二区三级视频 | 久热免费| 国产精品亚洲一区 | 最新午夜综合福利视频 | 欧美成人h版在线观看 | 成人免费视频网址 | 久草视频观看 | 最新av片|