Golang程式設計基礎 準備篇

2021-06-28 03:58:55 字數 1076 閱讀 1088

golang是google發布的開源程式語言,這裡就不對其進行過多介紹,網上有很多文章已經把它的前身後世都介紹的很清楚了,有興趣的可以去查閱,前幾天剛開始接觸golang的開發,今天抽空在開發之餘對其做一些整理,今天要說的就是golang的基本資料型別。

單純的介紹資料型別,沒有任何意義,無非就是幾幾個型別,明白表示什麼意思,但是一門語言要設定那麼一些資料型別肯定是有它的原因的。我們需要了解一下不同的資料型別在記憶體中的形式。

首先來了解幾個概念,bit(位元位),byte(位元組),word(字)這三個概念以及它們之間的關係。

計算機是很多電路的整合,在計算機中每乙個閉合電路只有 0, 1兩種狀態。所以資料在計算機中是以二進位制(只有0和1組成)形式存在的。所以計算機的本質就是就是對0,1的操作。bit是資訊的最小單位,就是指乙個資訊位。0或者1表示的就是1bit,所以0000就是4個bit。相應的位元組與位之間存在關係1byte = 8bit, 而word則與系統硬體(匯流排,cpu指令字位數等)有關,比如資料匯流排為16位,則1word=2byte, 如果32位則有1word=4byte。儲存容量通常使用byte表示,並且與硬體無關即1byte=8bit。在計算機中還涉及到乙個概念就是cpu的位數,即計算機cpu一次能處理的的bit位數,比如常見的有32位和64位,就對應著32bit和64bit,即4byte或者8byte。

我們還需要了解一下字元與位元組之間的的關係。這就會涉及到編碼的問題。常見的編碼有ascii編碼,utf-8編碼,unicode編碼,在不同編碼方式下的位元組與字元的關係描述如下:

ascii碼:乙個英文本母(不分大小寫)佔乙個位元組的空間,乙個中文漢字佔兩個位元組的空間。乙個二進位制數字序列,在計算機中作為乙個數字單元,一般為8位二進位制數,換算為十進位制。最小值0,最大值255。如乙個ascii碼就是乙個位元組。

utf-8編碼:乙個英文本元等於乙個位元組,乙個中文(含繁體)等於三個位元組。

unicode編碼:乙個英文等於兩個位元組,乙個中文(含繁體)等於兩個位元組。

符號:英文標點佔乙個位元組,中文標點佔兩個位元組。舉例:英文句號「.」佔1個位元組的大小,中文句號「。」佔2個位元組的大小。

在了解了這些基本的概念之後我們再去學習程式語言中的資料型別,就比較好理解了,而且也比較容易掌握它。

Golang基礎程式設計 archive zip包

統一使用路徑符 包含 替換為 func tolinux basepath string string引數 1 壓縮檔案 目錄 路徑 名 引數2 往 寫,本地壓縮傳檔案變數,壓縮後將流傳到其它電腦主機使用傳入bytes.buffer 即包含io.writer介面的結構變數都可 func zip fp ...

Golang併發程式設計基礎

作為併發程式設計乙個基礎硬體知識儲備,首先要說的就是記憶體了,總的來說在絕大多數情況下把記憶體的併發增刪改查模型搞清楚了其他的基本上也是異曲同工之妙。記憶體晶元 即我們所知道的記憶體顆粒,是一堆mos管的集合,在半導體稱呼裡面,很多mos管組成乙個半導體 組module 很多個module組成乙個管...

網路程式設計基礎 入門準備

1.位元組序 include 定義函式 unsigned short int htons unsigned short int hostshort 函式說明 htons 用來將引數指定的16位hostshort轉換成網路字元順序。返回值 返回對應的網路字元順序。include 定義函式 unsign...