日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

二、Go语言基础入门

發布時間:2024/10/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二、Go语言基础入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

@Author:Runsen

最近在從 Java/python 語言轉型到 go 語言,本文是Go 基礎系列的文章,不會刻意追求面面俱到,但該有知識點都會覆蓋。

下面我們就來簡單的看看 go 語言里的這些語法吧。

文章目錄

  • 變量
  • 基本類型
  • 常量

變量

Go 語言變量名由字母、數字、下劃線組成,其中首個字符不能為數字。其實這就是Python,Java編碼的命名要求。

Go 語言聲明變量的一般形式是使用 var 關鍵字,這個和JavaScript很相似。

比如,我們聲明一個為int類型的變量a:

var a int

可以看出,Go語言聲明變量的方式為:

var <變量名> <變量類型>

我們還可以同時聲明多個類型相同的變量:

var <變量名1>, <變量名2>, <變量名3>, ... <變量類型>

使用分組同時聲明多個類型不同的變量:

var (<變量名1> <變量類型1><變量名2> <變量類型2><變量名3> <變量類型3>... )

我們可以發現Go編程語言聲明變量與Python和Java不同,Python不需要聲明變量的類型。Java聲明變量是將類型寫在最前面,沒有var關鍵字。Go聲明變量的類型卻在后面

下面是一個具體的例子,需要注意的是數值類型默認為 0,布爾類型默認為 false,字符串默認為""(即空字符串)

package mainimport "fmt"var i bool//類型在后func main() {var a, b, c int//多個var d stringfmt.Println(i, a, b, c, d)j, k := 2, 3fmt.Println(j, k) }# false 0 0 0 # 2 3

變量d由于是空字符串,所以打印出來了但是看不到。

除此之外還有一種更簡潔的聲明變量的方式,就是使用:=聲明變量。

當我們使用:=聲明變量時,不用寫var也不用寫類型,但是這里需要強調這種方式只能在函數內部使用,不能在函數外部使用。因此如果在函數外部聲明變量時,只能使用var。

此外,這里還要一個非常需要注意的一點:我們聲明的變量必須要使用,如果聲明了變量,但是沒使用,會在編譯時報錯。

比如:

package mainimport "fmt"func main() {var i boolvar j int //聲明了,但沒使用,會報錯 j declared and not usedfmt.Println(i) }

基本類型

像其他語言一樣,go 有布爾類型,字符串類型,整數類型,浮點數類型和復數類型。

布爾類型為bool,值可取true或false,默認值為false。

字符串類型為string,默認為空字符串""。

整數類型分為:

  • 有符號數:int、int8、int16、int32 (rune)、int64
  • 無符號數:uint、uint8 (byte)、uint16、uint32、uint64

具體的數值范圍查看下表

類型長度(字節)數值范圍
int81-128~127 (-2^(8-1) ~ 2^7-1)
uint810~255 (0 ~ 2^8-1)
int162-32768~32767
uint1620~65535
int324-2^31 ~ 2^31-1 (-2147483648~2147483647)
uint3240~2^32-1 (0~4294967295)
int648-2^63 ~2^63-1
uint6480~2^63

其中int和uint的兩種類型的長度相同,取決于具體的編譯器,比如在32位系統上通常為32位,在64位系統上通常為64位。

浮點數類型有兩種:float32和float64,注意沒有所謂的float類型。

復數類型也有兩種:complex64和complex128

下面寫一個定義變量賦值綜合例子。

package main // 包名 import "fmt" // 導入var (a = 1b = "hello"c = true )func main() {fmt.Println(c)variableNoValue()variableQuick() }func variableNoValue() {var a intfmt.Println(a) }func variableQuick() {a, b := 5, "hello"fmt.Println(a, b) }# true # 0 # 5 hello

常量

Go語言使用const來聲明并賦值常量,常量在編譯期間就確定,后續不能更改,也就是我們常數的常量不可以修改。

const Pi float32 = 3.1415926 const Pi = 3.1415926

Go 語言中的常量定義會有一些默認的規則,主要有:

  • 定義常量時必須有值。
  • 常量組中如果不對常量賦值的話,常量的值與上面一個是一致的。
  • 常量與iota混用的話,iota會從0開始計數,多一個常量就會增加

這里大家可能對iota有些陌生,iota 在 const關鍵字出現時將被重置為 0(const 內部的第一行之前),const 中每新增一行常量聲明將使 iota 計數一次(iota 可理解為 const 語句塊中的行索引)。

下面寫一個定義綜合例子。

package mainimport ("fmt" )func main() {const (a = 2b // b=2c = 5d // d=5e // e=5)fmt.Println("Hello, Go常量:", a, b, c, d, e)const (f = 1g = 1h = iota // 前面有2個常量所以這里h =2i // i 在h之后,也會自動+1j // 同理與j,自動+1k = 10l = iota // iota 并不會因為上面的k值變化,而變化依然是6)fmt.Println("Hello, Go常量:", f, g, h, i ,j, k, l) }# Hello, Go常量: 2 2 5 5 5 # Hello, Go常量: 1 1 2 3 4 10 6

總結

以上是生活随笔為你收集整理的二、Go语言基础入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。