3、做中學 | 二年級上期 Golang數據類型和常量/變量聲明使用

一、基本數據類型

在 Go 編程語言中,數據類型用于聲明函數和變量。

數據類型的出現是為了把數據分成所需內存大小不同的數據,編程的時候需要用大數據的時候才需要申請大內存,就可以充分利用內存。

Go 基本數據類型

類別類型描述零值示例取值范圍
布爾型bool邏輯值,表示真或假falsetrue, falsetruefalse
整數型int平臺相關有符號整數(32位系統=32位,64位系統=64位)042, -1032位系統:-231 ~ 231-1
64位系統:-2?3 ~ 2?3-1
int88位有符號整數0127, -128-128 ~ 127
int1616位有符號整數032767, -32768-32768 ~ 32767
int3232位有符號整數(別名 rune02147483647-2147483648 ~ 2147483647
int6464位有符號整數09223372036854775807-9223372036854775808 ~ 9223372036854775807
uint平臺相關無符號整數(大小同 int010032位系統:0 ~ 232-1
64位系統:0 ~ 2??-1
uint88位無符號整數(別名 byte0255, 0x0A0 ~ 255
uint1616位無符號整數0655350 ~ 65535
uint3232位無符號整數042949672950 ~ 4294967295
uint6464位無符號整數0184467440737095516150 ~ 18446744073709551615
uintptr無符號整數,用于存儲指針地址0系統內存地址足夠存儲指針值的整數
浮點型float32IEEE-754 32位單精度浮點數0.03.14, -0.001±1.18e?3? ~ ±3.4e3?,精度約6位小數
float64IEEE-754 64位雙精度浮點數(默認浮點類型0.03.1415926535, -2.5e10±2.23e?3?? ~ ±1.8e3??,精度約15位小數
復數型complex64由兩個 float32 組成(實部+虛部)(0+0i)1+2i, 3i實部/虛部范圍同 float32
complex128由兩個 float64 組成(實部+虛部)(0+0i)1.5+3.2i實部/虛部范圍同 float64
字符串型string不可變的 UTF-8 字符序列"""Hello", "世界"任意字節序列(支持 Unicode)
字節別名byteuint8 的別名,用于二進制數據0'a', 0x41uint8 (0 ~ 255)
字符別名runeint32 的別名,表示 Unicode 碼點0'中', '\u4e2d'int32(支持所有 Unicode 字符)

在這里插入圖片描述

同其它編程語言一樣,go的數據類型基本覆蓋人類文化內容,數字、字符串、布爾、復數

二、常量

在go的國度中,根據上邊的劃定的范圍,可以進行創建常量和變量了。先來看下常量…

// 常量定義格式
const 常量名 [常量類型] =

學了其它編程語言的,看到這感覺不適應的,你的感覺沒錯,新的知識正在占領大腦!

從上邊的定義格式,可以看到:

  1. const: 定義常量使用的是“const”關鍵詞
  2. 常量名: 以后使用常量的話,盡量使用大寫進行命名,并使用下劃線分詞
  3. 常量類型:只可以是布爾型、數字型(整數型、浮點型和復數)和字符串型
  4. []中括號:可以進行省略,自動根據值進行類型推導
  5. 值:聲明過后,不能被修改
	// 常量// 顯式聲明// const LENGTH int = 10// 隱式聲明 根據值 進行推導出數據類型const Length = 10// 不能進行修改Length = 20fmt.Println(Length)

在這里插入圖片描述

另外,對于多個相同類型的聲明可以簡寫為:

const Length, WIDTH = 10, 20

三、變量

在這里插入圖片描述
變量怎么比喻呢?
我這邊為了更好的理解,使用了上邊的老中醫藥材柜圖片,如果把各種各樣的數據看作是各種藥材的話!
每個抽屜代表go開辟的內存空間,進行儲存藥材(變量值),而外邊的名稱就是變量名(見名識意)!

變量來源于數學,是計算機語言中能儲存計算結果或能表示值抽象概念。變量可以通過變量名訪問。

聲明變量的一般形式是使用 var 關鍵字:

var 變量名 變量類型

可以了解到:

  1. var:聲明變量使用“var”關鍵詞
  2. 變量名:由字母、數字、下劃線組成,其中首個字符不能為數字
  3. 變量類型:基本數據類型和符合類型
  4. 值:上邊沒有賦值,后續進行賦值操作。如果聲明的時候進行賦值,可以省略變量類型,原因是go可以進行類型推導
    // 變量// 變量聲明// 第一種 聲明后賦值var length intlength = 10// 第二種 聲明時賦值//var width int = 20// 也可以去掉 變量類型 使用類型推導var width = 20// 第三種 省略var  注意 := 左側的變量名 是沒有聲明過的,否則編輯報錯height := 30fmt.Println(length, width, height)

多個變量同時聲明

	// 多個變量聲明 省略類型 進行類型推導var a, b, c = 10, 20.8, "hello"fmt.Println(a, b, c)

四、關鍵字

什么是關鍵字,就是go語言已經使用過的關鍵詞,我們不能再使用了,命名包名、文件名、聲明變量名、函數名等,為了避免沖突不能使用!

下面列舉了 Go 代碼中會使用到的 25 個關鍵字或保留字:

breakdefaultfuncinterfaceselect
casedefergomapstruct
chanelsegotopackageswitch
constfallthroughifrangetype
continueforimportreturnvar

除了以上介紹的這些關鍵字,Go 語言還有 36 個預定義標識符:

appendboolbytecapclosecomplexcomplex64complex128uint16
copyfalsefloat32float64imagintint8int16uint32
int32int64iotalenmakenewnilpanicuint64
printprintlnrealrecoverstringtrueuintuint8uintptr

程序一般由關鍵字、常量、變量、運算符、類型和函數組成。

本次作業

  1. 熟練知道go的數據類型,說一個值,要立即反應出該值的數據類型
  2. 會聲明常量/變量的
  3. 了解有哪些關鍵字,避免后續命名沖突

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

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

相關文章

php5 與 mysql8的兼容問題

php5 與 mysql8的兼容問題 環境 Linux: ubuntu20.04 Mysql&#xff1a; 8.0.33 Php: 5.6 代碼 # cat test.php <?php$link mysqli_connect("127.0.0.1", "root", "123456");if ($link) {echo "ok"; } else {echo "fail&…

從0開始學linux韋東山教程Linux驅動入門實驗班(1)

本人從0開始學習linux&#xff0c;使用的是韋東山的教程&#xff0c;在跟著課程學習的情況下的所遇到的問題的總結,理論雖枯燥但是是基礎。本人將前幾章的內容大致學完之后&#xff0c;考慮到后續驅動方面得更多的開始實操&#xff0c;后續的內容將以韋東山教程Linux驅動入門實…

MSPM0G3507學習筆記(二) 超便捷配置led與按鍵

電賽備賽中&#xff0c;打算系統過一遍MSPM0G3507的各個部分&#xff0c;同時把過程記錄下來。本系列以代碼全部能用復用性、可移植性高為目的。本系列所有的代碼會開源至github&#xff0c;如果覺得有用&#xff0c;請點個贊/給我的github倉庫點一顆star吧。 github地址&…

day03-微服務01

【黑馬程序員SpringCloud微服務技術棧實戰教程&#xff0c;涵蓋springcloud微服務架構Nacos配置中心分布式事務等】 暫時無法在飛書文檔外展示此內容 之前我們學習的項目一是單體項目&#xff0c;可以滿足小型項目或傳統項目的開發。而在互聯網時代&#xff0c;越來越多的一線…

嵌入式Linux系統內存占用率高的原因、后果與防控全解析

作者&#xff1a;嵌入式Jerry 【歡迎關注“嵌入式Jerry”&#xff0c;獲取更多Linux/驅動/性能實戰干貨】 推薦閱讀&#xff1a;《Yocto項目實戰教程&#xff1a;高效定制嵌入式Linux系統》 京東正版促銷&#xff0c;支持作者&#xff01;https://item.jd.com/15020438.html 嵌…

【案例分享】如何用 DHTMLX Scheduler 構建靈活高效的資源調度系統?

在企業信息化進程加速的今天&#xff0c;資源調度與任務管理已成為ERP系統中的關鍵模塊。今天&#xff0c;我們帶來了一個來自 X-Interactive 的精彩應用案例&#xff0c;看他們如何借助 DHTMLX Scheduler 實現更智能的任務分配與資源規劃。 DHTMLX Scheduler 試用下載 &…

Kafka 向 TDengine 寫入數據

TDengine Kafka Connector 包含 TDengine Source Connector 和 TDengine Sink Connector 兩個插件。用戶只需提供簡單的配置文件&#xff0c;就可以將 Kafka 中指定 topic 的數據&#xff08;批量或實時&#xff09;同步到 TDengine&#xff0c;或將 TDengine 中指定數據庫的數…

智慧醫院核心引擎:IBMS 系統守護醫療環境高效與安全?

在醫療場景中&#xff0c;時間就是生命&#xff0c;效率與安全容不得分毫差錯。傳統醫院面臨著設備管理分散、應急響應遲緩、能耗居高不下等難題&#xff0c;嚴重制約醫療服務質量與運營效率。而 IBMS 系統&#xff0c;作為智慧醫院的核心引擎&#xff0c;以尖端科技重塑醫療環…

平均性能提升70%,蓋雅工場基于騰訊云數據倉庫TCHouse-D構建實時報表平臺

點擊藍字? 關注我們 本文共計3569字 預計閱讀時長11分鐘 導語 騰訊云數據倉庫TCHouse-D助力蓋雅工場構建了架構簡潔、查詢高效的報表平臺。目前該平臺已經支撐了蓋雅工場上千個租戶的實時報表需求&#xff0c;報表查詢時效性整體可達亞秒級&#xff0c;相較原架構&#xff0c;…

zynq裸機開發:更改系統時間保存文件到SD卡

1、首先勾選文件系統庫 2、之后導出一個SD卡文件寫demo 3、SD卡創建或修改文件時的創建時間和修改時間是通過調用BSP包的diskio.c文件中的get_fattime函數 4、找到這段函數&#xff0c;先把他注釋掉&#xff0c;之后考到導出demo的最后一行&#xff0c;稍作修改&#xff0c…

“荔枝使”的難題怎么破:A*運輸路徑算法編程實踐

原文首發請訪問&#xff1a;https://cloud.tencent.com/developer/article/2533317 荔枝最初被稱為“離支”&#xff0c;亦作“離枝”。 這是一種非常精貴的水果&#xff0c;一旦離開枝頭&#xff0c;色澤、香氣和味道會在短時間內迅速變質。 但它又是非常美味&#xff0c;宋…

python基礎知識,以及7個練習案例

python的用途 搭建網站網絡爬蟲科學計算與大數據分析人工智能與機器學習設計動畫游戲&#xff1a;例如pygame圖形用戶接口開發&#xff1a;模塊與框架&#xff0c;如tkinter python基礎課程包含內容 自動化運維人工智能應用web開發多媒體處理自動化辦公python爬蟲 python是…

Java 編程之命令模式

什么是命令模式 命令模式Command Pattern 是一種行為型設計模式&#xff0c;它把請求封裝成對象&#xff0c;從而將請求的發送者與執行者完全解耦&#xff0c;支持排隊、撤銷、日志記錄等操作。。 模式目標&#xff1a; 解耦命令的發出者&#xff08;Invoker&#xff09;與執…

TCP 三次握手與四次揮手全流程詳解

TCP(Transmission Control Protocol)是一種面向連接的、可靠的、基于字節流的傳輸層協議。為了建立和終止連接,TCP 使用了 三次握手 和 四次揮手 的機制。本文將從原理到狀態變化,詳細解析 TCP 連接的建立與釋放全過程,力求專業、準確。 一、TCP 三次握手(Three-Way Han…

MySQL 慢 SQL 識別與優化

一、識別慢 SQL 1. 啟用慢查詢日志 -- 查看當前慢查詢配置 SHOW VARIABLES LIKE slow_query%; SHOW VARIABLES LIKE long_query_time;-- 開啟慢查詢日志&#xff08;臨時生效&#xff09; SET GLOBAL slow_query_log ON; SET GLOBAL long_query_time 2; -- 設置慢查詢閾值…

墨記APP:水墨風記事,書寫生活詩意

在快節奏的現代生活中&#xff0c;記錄生活的點滴成為了一種獨特的儀式感。無論是日常的瑣事、突發的靈感&#xff0c;還是對未來的規劃&#xff0c;一款好用的記事軟件都能幫助我們更好地整理思緒&#xff0c;留住美好瞬間。墨記APP正是一款兼具美學與實用性的記事軟件&#x…

龍芯7A1000橋片數據手冊解讀(時序)

RTC是電池&#xff0c;理論上一直是有電的&#xff0c;圖示指的是接上220V電之后切換為系統的電。順序是這樣的&#xff1a;接上220V電之后系統的12V供電就有了&#xff0c;12V轉為5VSB&#xff0c;5VSB供給RTC3V&#xff0c;此時RTC3V轉為系統供電而不是電池供電。這里的5VSB指…

無人機氣壓計模塊技術解析

一、運行方式 1. 基礎原理 氣壓計通過測量大氣壓力間接計算高度。無人機飛行中&#xff0c;氣壓隨高度上升而降低&#xff0c;傳感器將壓力信號轉為電信號&#xff0c;經ADC轉換為數字值。 2. 工作流程 數據采集&#xff1a;同步獲取壓力與溫度值。 原始數據處理&…

第十四節:第三部分:IO流:前置知識-什么是方法遞歸以及遞歸的形式、遞歸算法三要素

什么是方法遞歸以及遞歸的形式 遞歸算法三要素 代碼 代碼一&#xff1a;認識一下遞歸的形式 package com.itheima.Recurtion; //目標:認識一下遞歸的形式 public class RecurtionTest1 {public static void main(String[] args) {test2();}//直接方法遞歸public static void…

論文閱讀筆記:Digging Into Self-Supervised Monocular Depth Estimation

論文閱讀筆記&#xff1a;Digging Into Self-Supervised Monocular Depth Estimation 1 背景2 創新點3 方法4 模塊4.1 自監督訓練4.2 優化自監督深度估計4.2.1 每個像素的最小重建損失4.2.2 自動掩碼靜態像素4.2.3 多尺度估計4.2.4 最終的訓練損失 4.3 額外考慮 5 效果 1 背景 …