自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

[[426558]]

前言

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

為什么需要變量

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

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

變量類型

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

  • 整數(shù),1,6,2,8,4...
  • 浮點數(shù),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(變量)。

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

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

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

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

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

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

:=方式變量賦值

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

格式如下。

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

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

注意:

  1. age := 18 //本質(zhì)是執(zhí)行的兩句話 
  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:全局變量要么只聲明,要么聲明時就賦值,不能寫兩行賦值,所以:=方式不能應用在全局變量中

匿名變量

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

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

值得注意的是,匿名變量不會占用內(nèi)存。

  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基礎之變量。

如果在操作過程中有任務問題,記得下面留言,我們看到會第一時間解決問題。

我是碼農(nóng)星期八,如果覺得還不錯,記得動手點贊一下哈。感謝你的觀看。

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

 

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

2021-10-13 10:00:52

Go語言基礎

2020-10-22 11:15:47

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語言

2022-04-27 10:01:43

切片Go封裝

2020-12-30 09:04:32

Go語言TCPUDP

2020-10-25 07:33:13

Go語言

2020-12-09 09:59:32

Go語言技術

2020-10-23 08:38:19

Go語言

2021-10-09 07:10:31

Go語言基礎

2020-12-27 10:15:44

Go語言channel管道

2020-12-07 05:59:02

語言Go接口

2021-10-30 10:43:04

語言Go函數(shù)

2021-11-03 10:02:07

Go基礎函數(shù)

2021-01-26 23:46:32

JavaScript數(shù)據(jù)結構前端

2023-09-06 14:57:46

JavaScript編程語言

2021-10-16 10:17:51

Go語言數(shù)據(jù)類型

2020-12-23 08:39:11

Go語言基礎技術
點贊
收藏

51CTO技術棧公眾號