佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 手把手帶你走進(jìn)Go語(yǔ)言之語(yǔ)法基礎(chǔ)解析

手把手帶你走進(jìn)Go語(yǔ)言之語(yǔ)法基礎(chǔ)解析

熱門(mén)標(biāo)簽:AI電銷(xiāo) 鐵路電話(huà)系統(tǒng) Linux服務(wù)器 百度競(jìng)價(jià)排名 網(wǎng)站排名優(yōu)化 服務(wù)外包 呼叫中心市場(chǎng)需求 地方門(mén)戶(hù)網(wǎng)站

概述

Golang 是一個(gè)跨平臺(tái)的新生編程語(yǔ)言. 今天小白就帶大家一起攜手走進(jìn) Golang 的世界.

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

Go 程序可以由多個(gè)標(biāo)記組成:

  • 關(guān)鍵字
  • 標(biāo)識(shí)符
  • 常量
  • 字符串
  • 符號(hào)

關(guān)鍵字

Go 語(yǔ)言有 25 個(gè)關(guān)鍵字:

關(guān)鍵字 作用
var const 變量和常量的聲明
package import 導(dǎo)入
func 用于定義函數(shù)和方法
return 用于函數(shù)返回
defer someCode 在函數(shù)退出前執(zhí)行
go 用于并行
select 用于選擇不同類(lèi)型的通訊
interface 用于定義接口
struct 用于定義抽象數(shù)據(jù)類(lèi)型
break, case, continue, for, falthrough, else, if. switch, goto, defult 流程控制
chan 用于 channel 通訊
type 用于聲明自定義類(lèi)型
map 用于聲明 map 類(lèi)型數(shù)據(jù)
range 用于讀取 slice, map, channel 數(shù)據(jù)

標(biāo)識(shí)符

標(biāo)識(shí)符用來(lái)命名變量, 類(lèi)型等程序?qū)嶓w. 一個(gè)標(biāo)識(shí)符實(shí)際上就是一個(gè)或者多個(gè)字母 (A-Z 和 a-z), 數(shù)字 (0-9), 下劃線 (_) 組成的序列. 但是第一個(gè)字符必須是字母或者下?lián)Q線而不是數(shù)字.

Go 不允許在表示符中使用標(biāo)點(diǎn)符號(hào), 例如: “@”, “$”, 和 “%”. 并且 Go 是一種區(qū)分大小寫(xiě)的編程語(yǔ)言.

數(shù)據(jù)類(lèi)型

類(lèi)型 說(shuō)明
布爾類(lèi)型 (Boolean) true / false
整數(shù)類(lèi)型 (Integer) 1, 2, 3, 4, …
浮點(diǎn)類(lèi)型 (Float) 1.1, 2.2, 3.3, 4.4, …
字符串類(lèi)型 (String) 字符串類(lèi)型表示字符串值的合集. 字符串是不可變類(lèi)型, 一旦創(chuàng)建后, 就不可能改變字符串的內(nèi)容.
派生類(lèi)型 包括指針可型, 數(shù)組類(lèi)型, 結(jié)構(gòu)類(lèi)型, 聯(lián)合類(lèi)型, 函數(shù)類(lèi)型, 切片類(lèi)型, 接口類(lèi)型

例子:

package main

import "fmt"

func main() {

	// 定義字符串變量
	var str = "我是小白呀"

	// 定義整數(shù)型變量
	var integer = 8

	// 定義浮點(diǎn)型變量
	var float = 1.2

	// 定義布爾類(lèi)型變量
	var bool = true

	fmt.Println("string: ", str, "\ninteger: ", integer, "\nfloat: ", float, "\nboolean: ", bool)

}

輸出結(jié)果:

string: 我是小白呀
integer: 8
float: 1.2
boolean: true

變量聲明

格式 1, 指定變量類(lèi)型, 聲明后再進(jìn)行賦值:

var  變量名 變量類(lèi)型
變量名 = 值

格式 2, 根據(jù)值自行判定變量類(lèi)型:

var 變量名 = 值

格式 3, 省略 var. (注意: “:=” 左側(cè)的變量不應(yīng)該是已經(jīng)聲明過(guò)的, 否則會(huì)導(dǎo)致編譯錯(cuò)誤):

v_name := value

例子:

package main

import "fmt"

func main() {

	// 方法一
	var num1 int      // 聲明變量
	num1 = 1          // 賦值
	fmt.Println(num1) // 調(diào)試輸出

	// 方法二
	var num2 = 2      // 自行判定變量類(lèi)型
	fmt.Println(num2) // 調(diào)試輸出

	// 方法三
	num3 := 3         // 省略var
	fmt.Println(num3) // 調(diào)試輸出
	
}

輸出結(jié)果:

1
2
3

多變量聲明

格式:

var 變量名稱(chēng)1, 變量名稱(chēng)2, 變量名稱(chēng)3 = 值1, 值2, 值2

例子:

package main

import "fmt"

func main() {

	// 多變量聲明
	var num4, num5, num6 = 1, 2, 3
	fmt.Println(num4, num5, num6)  // 調(diào)試輸出
}

輸出結(jié)果:

1 2 3

值類(lèi)型和引用類(lèi)型

所有像 int, float, bool 和 string 這些基本類(lèi)型都屬于值類(lèi)型. 使用這些類(lèi)型的變量直接指向存在內(nèi)存中的值.

當(dāng)使用等號(hào) “=” 將一個(gè)變量賦值給另一個(gè)變量時(shí) (num2 = num1). 實(shí)際上在內(nèi)存中將 num1 的值進(jìn)行了拷貝.

例子:

package main

import "fmt"

func main() {

	// 定義變量
	var num1 = 2
	var num2 = num1

	// 調(diào)試輸出值和地址
	fmt.Println(num1, num1)
	fmt.Println(num2, num2)
}

輸出結(jié)果:

2 0xc0000ac058
2 0xc0000ac070

到此這篇關(guān)于手把手帶你走進(jìn)Go語(yǔ)言之語(yǔ)法基礎(chǔ)解析的文章就介紹到這了,更多相關(guān)Golang 語(yǔ)法基礎(chǔ)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 手把手帶你走進(jìn)Go語(yǔ)言之常量解析
  • 手把手帶你走進(jìn)Go語(yǔ)言之運(yùn)算符解析
  • 手把手帶你走進(jìn)Go語(yǔ)言之類(lèi)型轉(zhuǎn)換
  • 手把手帶你走進(jìn)Go語(yǔ)言之條件表達(dá)式
  • 手把手帶你走進(jìn)Go語(yǔ)言之循環(huán)語(yǔ)句

標(biāo)簽:黃山 蘭州 崇左 衡水 銅川 湖南 仙桃 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《手把手帶你走進(jìn)Go語(yǔ)言之語(yǔ)法基礎(chǔ)解析》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266
    深泽县| 海宁市| 安西县| 彰化县| 苏尼特左旗| 石台县| 奈曼旗| 石阡县| 鱼台县| 潍坊市| 河间市| 东方市| 三门县| 南华县| 星座| 乐平市| 宁津县| 视频| 饶河县| 宁海县| 吉水县| 永靖县| 夏河县| 龙陵县| 什邡市| 连州市| 大余县| 永泰县| 龙南县| 黄冈市| 林州市| 成安县| 兴业县| 成武县| 安义县| 隆林| 绥芬河市| 庆阳市| 乌兰浩特市| 奇台县| 靖远县|