1. 程式人生 > >Go語言入門教程(五)

Go語言入門教程(五)

Go語言系列教程(五)

原創: IT小棧君

file

Hello,各位小夥伴,大家好,我是小棧君,馬上就是我們偉大祖國的70華誕了,所以在這裡小棧君也祝願大家有一個愉快的國慶節。

當然在放假的同時也別忘了學習哦,小棧君在這裡也會陪著大家一起學習和進步。閒話不多說,我們開始今天的分享。

上一期我們講了關於go語言的常量、列舉和基礎資料型別,本期我們接著上期所講的資料型別進行統一講解一番。

總體來講,Go語言的資料型別主要分為,布林型別、字元型別、整型、浮點型、字串型別和複數型別這幾種。我們這次主要來以此例項化一下這幾個型別。

布林型別

我們先用程式碼表示一下布林型別定義 方法一 自己定義

var  tag  bool // 定義一個布林型別的標誌
tag = true  // 進行賦值
fmt.println(tag) // 列印

方法二 利用系統進行推導

tag = (1 == 2 ) // 先進性比較 得出比較結果 然後賦值給tag
fmt.println(tag) // 列印

各位小夥伴請注意,布林值型別不能接受其他型別的賦值,不支援自動或則強制型別轉換。

說到這裡,興許有的小夥伴會想到我們在資料庫中會用到 0表示true 1表示false ,所以這裡小棧君給大家提個醒哦。

file

整型

Go語言同時提供了有符號和無符號的整數型別,其中包括 int8、int16、int32 和 int64 四種大小截然不同的有符號整數型別。

分別對應 8、16、32、64 bit(二進位制位)大小的有符號整數,與此對應的是 uint8、uint16、uint32 和 uint64 四種無符號整數型別。

此外還有兩種整數型別 int 和 uint,它們分別對應特定 CPU 平臺的字長(機器字大小),其中 int 表示有符號整數,應用最為廣泛,uint 表示無符號整數。

實際開發中由於編譯器和計算機硬體的不同,int 和 uint 所能表示的整數大小會在 32bit 或 64bit 之間變化。

大多數情況下,我們只需要 int 一種整型即可,它可以用於迴圈計數器(for 迴圈中控制迴圈次數的變數)、陣列和切片的索引,以及任何通用目的的整型運算子,通常 int 型別的處理速度也是最快的。

用來表示 Unicode 字元的 rune 型別和 int32 型別是等價的,通常用於表示一個 Unicode 碼點。

這兩個名稱可以互換使用。同樣,byte 和 uint8 也是等價型別,byte 型別一般用於強調數值是一個原始的資料而不是一個小的整數。

在go語言中整型就是沒有小數點的整數型別,它的定義也是有兩種型別,第一種是自定義型別,第二種的系統推導型別

size  int64 = 1024
carry       = -1 // 整型常量, 自動推導型別

浮點型

資料顯示Go語言提供了兩種精度的浮點數 float32 和 float64,它們的算術規範由 IEEE754 浮點數國際標準定義,該浮點數規範被所有現代的 CPU 支援。

這些浮點數型別的取值範圍可以從很微小到很巨大。浮點數的範圍極限值可以在 math 包找到,常量 math.MaxFloat32 表示 float32 能表示的最大數值,大約是 3.4e38。

對應的常量 math.MaxFloat64 表示 float64 能表示的最大數值,大約是 1.8e308。float32 和 float64 分別能表示的最小值約為 1.4e-45 和 4.9e-324。

file

file

但是小夥伴請注意的一點是 在go語言自動推導的過程中如果我們定義一個數字為16,想要他是16.0的話只能通過自定義型別,如果是系統推導的話會當做整型處理。所以大家值得注意一下。

file

字元型別

在go語言中支援兩種字元型別,一種是 uint8 型別,或者叫 byte 型,代表了 ASCII 碼的一個字元。,另一個是rune代表單個Unicode的值。

代表一個 UTF-8 字元。當需要處理中文、日文或者其他複合字符時,則需要用到 rune 型別。rune 型別實際是一個 int32。

講到這裡大家可能有點不太明白rune的用法了 舉個栗子說明吧,有時候我們寫中文,在計數的時候我們需要判斷有多少個位元組呢,又或者多少個位元組代表一個漢字呢。

其實在go語言中一個漢字代表3個位元組,但是我們就是想要計數成一個位元組。這個時候就可以用rune來進行實現了,當然除了中文,其他國家的文字都可以進行處理。

file

字串

在go語言中字串也是一種基礎型別,同樣的他也能夠自定義型別和系統推導,小棧君特意為大家準備了一個大栗子,又順便解釋了一下關於rune的用法,如圖所示:

file

其中可以看到我們定義的字串如果沒有用rune來包裝一下,在取值的時候會出現亂碼的情況,而且一個小知識點是反引號的使用。

他可以原樣輸出我們們轉義字元,在我們需要大片文章的同時,可以不用在意轉義的使用,是不是很方便呢。

複數型別

複數型別主要是在科學計算中使用,比如後面我們會講到的尤拉公式使用程式碼進行表示是怎麼樣的等。

在go語言中複數實際上由兩個實數(在計算機中用浮點數表示)構成,一個表示實部(real),一個表示虛部(imag)。

var v1 complex64 // 由2個float32構成的複數型別
v1 = 3.12 + 6i
v2 := 3.12 + 12i        // v2是complex128型別
v3 := complex(3.12, 12) // v3結果同v2

fmt.Println(v1, v2, v3)
//內建函式real(v1)獲得該複數的實部
//通過imag(v1)獲得該複數的虛部
fmt.Println(real(v1), imag(v1))

以上就是今天的分享啦,涉及到點還是有點多,希望小夥伴能夠好好消化。

▼ 往期精彩回顧 跟多幹貨知識盡在“IT乾貨棧” 這裡每天會分享包含java,go,Python,大資料,人工智慧的相關乾貨,我們一起提高,一起進步。我是小棧君,我們明天再見,拜了個拜。

相關推薦

Go語言入門教程()

Go語言系列教程(五) 原創: IT小棧君 Hello,各位小夥伴,大家好,我是小棧君,馬上就是我們偉大祖國的70華誕了,所以在

2017年Go語言入門教程-徐培成-專題視訊課程

2017年Go語言入門教程—3763人已學習 課程介紹        Go語言入門教程,只要你懂中文都可以看的懂本套教程,為任何想學習Go語言研製的教程。課程收益    讓任何人都可以輕鬆掌握Go語言,你可以不用看任何書籍,用最短的時間快速學會Go語言。講師介紹    徐培成

Go語言入門教程(三)在Ubuntu上使用Eclipse開發Go

說明 這裡假設您已經安裝了JDK,如果沒有,請自行安裝。 一、安裝eclipse 下載Eclipse 首先,請到官方網站下載Eclipse,推薦下載完成安裝包,Gavin下載的是eclipse-java-oxygen-R-linux-gtk-x8

Go語言入門教程(一)Linux下安裝Go

說明 Gavin使用的系統是Ubuntu。 關於安裝 這裡只介紹原始碼安裝,至於使用包管理工具安裝,不再介紹,因為就一條命令,沒得說。 下載安裝包 當前官方下載地址是https://g

Go語言入門教程(十)之函式

Hello 各位小夥伴大家好,我是小棧君,假期一眨眼就過去了。不知道大家玩的是否開心呢? 上次我們講到了關於Go語言的流程控制,小棧君也希望小夥伴跟著小棧君一步一個腳印的敲一下程式碼,相互進步。本期我們要分享的Go語言系列之函式。 一、什麼是函式? 函式是指一段在一起的、可以做某一件事兒的程式。也叫做子程式、

Go語言入門教程(十一)

原創: IT乾貨棧 Hello,各位小夥伴大家好,我是小棧君,昨天講了關於go語言的函式的定義和自定函式的部分種類,我們今天接著上期所講的內容繼續進行分享。 一、函式之無參有返回值 有返回值的函式,必須有明確的終止語句,否則會引發編譯錯誤。所以在有返回值的函式中需要使用關鍵字 return 。 他可以是一

Go語言入門教程系列——函式、迴圈與分支

本文始發於個人公眾號:**TechFlow**,原創不易,求個關注 今天是Golang專題的第四篇,這一篇文章將會介紹golang當中的函式、迴圈以及選擇判斷的具體用法。 函式 在之前的文章當中其實我們已經接觸過函數了,因為我們寫的main函式本質上也是一個函式。只不過由於main函式沒有返回值,也

golang | Go語言入門教程——結構體初始化與繼承

本文始發於個人公眾號:**TechFlow**,原創不易,求個關注 今天是golang專題第10篇文章,我們繼續來看golang當中的面向物件部分。 在上一篇文章當中我們一起學習了怎麼建立一個結構體,以及怎麼給結構體定義函式,還有函式接收者的使用。今天我們來學習一下結構體本身的一些使用方法。 初始化 在

Go語言入門系列()之指標和結構體的使用

[Go語言入門系列](https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1441283546689404928)前面的文章: - [Go語言入門系列(二)之基礎語法總結](https://mp.weixin.qq.com

go語言入門(一)

const iot inter ted 第一個字符 使用 www git 允許 環境安裝 Go 語言支持以下系統: Linux FreeBSD Mac OS X(也稱為 Darwin) Window   安裝包下載地址為:https://golang.org/d

Go語言開發教程

googl lang 學習 概念 一個 人員 不能 環境安裝 服務 Go語言簡述興起:2009年Gogle發布的第二款開源編程語言特征:語法簡單:語法標準比較嚴格,適合開發人員短時間高效的服務端開發。並發模型:Goroutine是Go最顯著的特征,使用類協程的方式來處理並發

go語言入門(三)

if...else true 其中 中一 分享圖片 var val spa 需要 條件語句   go語言的條件語句結構如下:   go語言的條件語句和其他語言類似。簡單列舉下:   1、if 語句,布爾表達式不需要括號   if 布爾表達式 {   /* 在布

Go語言入門——dep入門

ranch 為什麽 spa toml use 最好 全局 類比 很多   本文出現了大量maven的內容,更適合java程序員閱讀,如果你的語言做依賴管理的方案與maven差異很大,可能在有些地方會不理解   從很久之前go語言在依賴解決和管理方面方案的匱乏就被不少人詬病。

匯編語言入門教程

mov 結果 nes yaf .net 所有 dia name you 2018-02-10 阮一峰 21CTO 學習編程其實就是學高級語言,即那些為人類設計的計算機語言。 但是,計算機不理解高級語言,必須通過編譯器轉成二進制代碼,才能運行。學會高級語言,並不等於

Go語言【第篇】:Go條件語句

receive 多個 inter ima comm 每一個 描述 進行 基於 Go語言條件 條件語句需要開發者通過指定一個或多個條件,並通過測試條件是否為true來決定是否執行指定語句,並在條件為false的情況再執行另外的語句。下圖展示了程序語言中條件語句的結構: Go

前端入門教程()CSS樣式初見

閃爍 set key 缺陷 cad -c 入門教程 clas 需要 一 什麽是CSS CSS全稱Cascading Style Sheet層疊樣式表,是專用用來為HTML標簽添加樣式的。 樣式指的是HTML標簽的顯示效果,比如換行、寬高、顏色等等 層疊屬於CSS的三大

Go語言開發()、Go語言面向接口

table ons 推導 arr ado default 被調用 等等 相關 Go語言開發(五)、Go語言面向接口 一、Duck Typing簡介 1、Duck Typing簡介 對於一門強類型的靜態語言來說,要想通過運行時多態來隔離變化,多個實現類就必須屬於同一類型體系,

Go語言入門(一)特性、安裝、環境搭建、第一個程序等

以及 rec 推出 eas log tell run 線程 package Go語言是谷歌推出的一種全新的編程語言,可以在不損失應用程序性能的情況下降低代碼的復雜性。谷歌首席軟件工程師羅布派克(Rob Pike)說:我們之所以開發Go,是因為過去10多年間軟件開發的難度令人

Go語言入門到放棄-變量

初始 入門 Language string類型 [] 結構體 clas turn 不同的 變量 1. 變量聲明 使用關鍵字var var v1 int //整型 var v2 string //字符串 var v3 [10]int /

GO語言學習(Go 語言基礎語法

序列 單行 break ani 開頭 ntp false nil div Go 標記 Go 程序可以由多個標記組成,可以是關鍵字,標識符,常量,字符串,符號。如以下 GO 語句由 6 個標記組成: fmt.Println("Hello, World!")