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

一篇文章帶你了解Go語(yǔ)言基礎(chǔ)之變量

開(kāi)發(fā) 后端
簡(jiǎn)單點(diǎn)說(shuō),我們寫的程序默認(rèn)數(shù)據(jù)都是保存在內(nèi)存條中的,我們不可能直接通過(guò)地址找到這個(gè)變量,因?yàn)榈刂诽L(zhǎng)了,而且不容易記。

[[428557]]

前言

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

為什么需要變量

簡(jiǎn)單點(diǎn)說(shuō),我們寫的程序默認(rèn)數(shù)據(jù)都是保存在內(nèi)存條中的,我們不可能直接通過(guò)地址找到這個(gè)變量,因?yàn)榈刂诽L(zhǎng)了,而且不容易記。

通常我們是通過(guò)變量名找到對(duì)應(yīng)的地址上面的值,再進(jìn)行一系列操作。

變量類型

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

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

大概會(huì)分為以上幾種類型,不過(guò)這個(gè)不用記,了解就好。

變量定義

聲明變量

格式如下。

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

批量聲明

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

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

聲明時(shí)賦值

上述方式,只是聲明了變量,但是并沒(méi)有賦值,在后期需要時(shí)可以在賦值。

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

格式如下。

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

在Go中的一個(gè)強(qiáng)制要求

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

類型推導(dǎo)方式聲明變量賦值

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

在Go,Go具有類型推導(dǎo)方式聲明時(shí)賦值變量。

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

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

:=方式變量賦值

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

格式如下。

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

學(xué)過(guò)Python的可能有點(diǎn)開(kāi)心了,除了多個(gè)一個(gè):號(hào),其他基本和Pyton定義變量方式一樣。

注意:

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

全局變量

簡(jiǎn)單說(shuō)就是,在最外面的定義的變量就是全局變量。

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

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

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

匿名變量

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

因?yàn)镚o中,變量必須使用,如果某個(gè)變量需要忽略,使用_即可。

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

  1. package main 
  2. func get_info() (string, int) { 
  3.     return "張三", 18 
  4. func main() { 
  5.     //標(biāo)準(zhǔn)寫法 
  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) 

常量

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

通常常量以大寫定義。

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

注:常量聲明時(shí)就必須賦值

錯(cuò)誤示例。

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

總結(jié)

上述我們學(xué)習(xí)了Go基礎(chǔ)之變量。

如果在操作過(guò)程中有任務(wù)問(wèn)題,記得下面留言,我們看到會(huì)第一時(shí)間解決問(wèn)題。

本文轉(zhuǎn)載自微信公眾號(hào)「Go語(yǔ)言進(jìn)階學(xué)習(xí)」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Go語(yǔ)言進(jìn)階學(xué)習(xí)公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: Go語(yǔ)言進(jìn)階學(xué)習(xí)
相關(guān)推薦

2021-09-29 10:00:07

Go語(yǔ)言基礎(chǔ)

2020-10-22 11:15:47

Go語(yǔ)言變量

2020-11-05 09:58:16

Go語(yǔ)言Map

2022-02-16 10:03:06

對(duì)象接口代碼

2020-10-22 08:33:22

Go語(yǔ)言

2020-11-11 10:52:54

Go語(yǔ)言C語(yǔ)言

2022-04-27 10:01:43

切片Go封裝

2020-12-30 09:04:32

Go語(yǔ)言TCPUDP

2020-10-25 07:33:13

Go語(yǔ)言

2020-12-09 09:59:32

Go語(yǔ)言技術(shù)

2021-10-09 07:10:31

Go語(yǔ)言基礎(chǔ)

2020-10-23 08:38:19

Go語(yǔ)言

2020-12-27 10:15:44

Go語(yǔ)言channel管道

2020-12-07 05:59:02

語(yǔ)言Go接口

2021-10-30 10:43:04

語(yǔ)言Go函數(shù)

2021-11-03 10:02:07

Go基礎(chǔ)函數(shù)

2021-01-26 23:46:32

JavaScript數(shù)據(jù)結(jié)構(gòu)前端

2023-09-06 14:57:46

JavaScript編程語(yǔ)言

2021-10-16 10:17:51

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

2020-12-23 08:39:11

Go語(yǔ)言基礎(chǔ)技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)