好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識(shí)庫 > golang的基礎(chǔ)語法和常用開發(fā)工具詳解

golang的基礎(chǔ)語法和常用開發(fā)工具詳解

熱門標(biāo)簽:官渡電銷外呼管理系統(tǒng)怎么收費(fèi) 利用地圖標(biāo)注位置 赤峰電銷 谷歌美發(fā)店地圖標(biāo)注 杭州人工智能電銷機(jī)器人費(fèi)用 貴州電話智能外呼系統(tǒng) 400開頭電話怎樣申請(qǐng) 地圖區(qū)域圖標(biāo)注后導(dǎo)出 江蘇呼叫中心外呼系統(tǒng)有效果嗎

golang的基礎(chǔ)語法

golang的基礎(chǔ)語法和其他語言大部分都差別不大,如果我們有學(xué)習(xí)過其他語言,比如JavaScript,php,java,python等,有其他語言的語法基礎(chǔ),那么我們學(xué)習(xí)golang將更容易上手。那我們直接開始介紹golang的語法吧。

注釋

注釋分單行注釋和多行注釋。golang的注釋和其他的開發(fā)語言的注釋是一樣的。雙斜杠表示單行注釋,/**/表示多行注釋。

// 單行注釋這么開頭
/* 
 多行注釋
*/

定義包名

一般來說,使用開發(fā)工具的時(shí)候,包名是不需要手動(dòng)輸入的,開發(fā)工具會(huì)在創(chuàng)建文件的時(shí)候,自動(dòng)生成包名。

比如定義一個(gè)包名稱為main的包:

package main //定義一個(gè)名稱為main的包
  • 每個(gè)go文件中必須定義包名來指明該文件歸屬于哪個(gè)包,而且定義包名必須在文件中非注釋的第一行;
  • go文件中若存在程序入口(main函數(shù)),則該文件定義的包名必須為main;
  • 一個(gè)文件中有且只有一次定義,即只有一行package語句;
  • 包名和文件名沒有必然聯(lián)系,可以不同。

導(dǎo)入依賴庫

依賴庫分為系統(tǒng)庫和第三方依賴庫。導(dǎo)入方式有兩種,單行導(dǎo)入和合并導(dǎo)入。一般上開發(fā)工具會(huì)自動(dòng)幫忙處理。引用一個(gè)包的時(shí)候,使用單行,需要引用多個(gè)包的時(shí)候,會(huì)自動(dòng)合并引用。

注意:導(dǎo)入的包都必須使用,若沒有使用編譯時(shí)將報(bào)錯(cuò)。所以不要引入無用的包。

import "fmt"
import (
  "os"
  "strings"
  "gorm.io/gorm"
  "github.com/kataras/iris/v12"
)

函數(shù)

func是函數(shù)定義的關(guān)鍵字,函數(shù)體用 { } 包圍,注意: { (左括號(hào))不能單獨(dú)成行,必須和main()在同一行。函數(shù)名小寫的時(shí)候表示這個(gè)函數(shù)是私有函數(shù),函數(shù)名大寫的時(shí)候,表示這個(gè)函數(shù)是公開函數(shù),公開函數(shù)可以全局訪問,私有函數(shù)只能在自己的包內(nèi)訪問。

func main(){
  fmt.Println("Hello World")
}

函數(shù)調(diào)用

函數(shù)的調(diào)用方式分2種,同一個(gè)包內(nèi)的函數(shù)調(diào)用,可以直接寫函數(shù)名稱就可以,不同包之間的調(diào)用,需要引入對(duì)方的包,然后通過包名.函數(shù)名的方式調(diào)用。

比如下方的函數(shù)調(diào)用是調(diào)用了fmt包的Println函數(shù)。

fmt.Println("Hello World")

變量、常量、占位符、運(yùn)算符、數(shù)組、指針、結(jié)構(gòu)體

變量

變量使用之前,需要先聲明。變量的聲明分幾種方式。一種是在開頭的時(shí)候聲明,使用 var 關(guān)鍵詞來聲明變量,另一種是在使用的時(shí)候聲明, 使用 := 來聲明和賦值。還有一種是合并聲明。不過盡量單獨(dú)聲明。

var a int = 1   //第一種: var 變量名 變量值
value := 2    //第二種: value_name := 1
var b, c, d = 1, 2, 3   //第三種: 合并聲明
var(           //第四種: 合并聲明
   value1 int   = 3
   value2 string = "Hello World"
)

上述有三種變量聲明方式,var是golang的關(guān)鍵詞,用于變量的聲明。第一、三和四種可以在任意地方聲明,當(dāng)定義在函數(shù)體外時(shí)相當(dāng)于全局變量;而第二種只能在函數(shù)體內(nèi)聲明,相當(dāng)于局部變量。變量在聲明后若不手動(dòng)定義,編譯器將為其賦值為相應(yīng)的默認(rèn)值

注意:golang中的變量、方法、結(jié)構(gòu)體等等的名稱都推薦使用駝峰命名法,而名字的首字母如果是小寫字母則表示在包(package)內(nèi)可見;而如果是大寫字母則表示包外可見。

常量

const var a int = 1
const var (
    b int = 2
    c string = "Hello World"
)

常量通過關(guān)鍵詞const來定義。常量同樣有單行聲明和合并聲明,聲明時(shí)必須定義,定義后不可修改。

占位符

_ , a = myFunction()

function()函數(shù)有兩個(gè)返回值,第一個(gè)返回值賦給_ , 第二個(gè)返回值賦給a,此時(shí)的 就稱做占位符,可以理解為僅僅為了給第一個(gè)返回值有位置存放即可,這個(gè)返回值我再也不會(huì)用到;如果這個(gè)返回值之后還可能用到,則不能賦給 ,否則今后無法再使用。

運(yùn)算符

golang的運(yùn)算符包括:

  • 算術(shù)運(yùn)算符: + 相加、 - 相減、 * 相乘、 / 相除、 % 求余、 ++ 自增、 -- 自減。
  • 關(guān)系運(yùn)算符: == 檢查兩個(gè)值是否相等、 != 檢查兩個(gè)值是否不相等、 > 檢查左邊值是否大于右邊值、 檢查左邊值是否小于右邊值、 >= 檢查左邊值是否大于等于右邊值、 = 檢查左邊值是否小于等于右邊值
  • 邏輯運(yùn)算符: 邏輯 和 運(yùn)算符、 || 邏輯 或 運(yùn)算符、 ! 邏輯 非 運(yùn)算符
  • 位運(yùn)算符: 按位與運(yùn)算符""是雙目運(yùn)算符,其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相與; | 按位或運(yùn)算符"|"是雙目運(yùn)算符,其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相或; ^ 按位異或運(yùn)算符"^"是雙目運(yùn)算符,其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相異或; 左移運(yùn)算符""是雙目運(yùn)算符,左移n位就是乘以2的n次方,其功能把""左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由""右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0; >> 右移運(yùn)算符">>"是雙目運(yùn)算符,右移n位就是除以2的n次方,其功能是把">>"左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,">>"右邊的數(shù)指定移動(dòng)的位數(shù)。

golang的運(yùn)算符合其他開發(fā)語言是一致的,這里不做更多介紹。

數(shù)組

數(shù)組是具有相同唯一類型的一組已編號(hào)且長(zhǎng)度固定的數(shù)據(jù)項(xiàng)序列,這種類型可以是任意的原始類型例如整型、字符串或者自定義類型。

// 形如 var 變量名 [數(shù)量] 變量類型
var stuName [20] string

指針

一個(gè)指針變量指向了一個(gè)值的內(nèi)存地址。

var-type 為指針類型,var_name 為指針變量名,* 號(hào)用于指定變量是作為一個(gè)指針。

類似于變量和常量,在使用指針前你需要聲明指針。指針聲明格式如下:

// var var_name *var-type
var stuNameIndex *string

結(jié)構(gòu)體

結(jié)構(gòu)體定義需要使用 type 和 struct 語句。struct 語句定義一個(gè)新的數(shù)據(jù)類型,結(jié)構(gòu)體中有一個(gè)或多個(gè)成員。type 語句設(shè)定了結(jié)構(gòu)體的名稱。結(jié)構(gòu)體的格式如下:

//形如 type variable_type struct { …… }
type People struct {
 var id  int
 var name string
}
var people People
people.id  = 1
people.name = "Sinclar"

切片

Go 語言切片是對(duì)數(shù)組的抽象。

Go 數(shù)組的長(zhǎng)度不可改變,在特定場(chǎng)景中這樣的集合就不太適用,Go中提供了一種靈活,功能強(qiáng)悍的內(nèi)置類型切片("動(dòng)態(tài)數(shù)組"),與數(shù)組相比切片的長(zhǎng)度是不固定的,可以追加元素,在追加時(shí)可能使切片的容量增大。

var slice1 []type
//也可以指定長(zhǎng)度
var slice1 []type = make([]type, 10)
//也可以簡(jiǎn)寫為
slice1 := make([]type, 10)

條件語句

條件語句有兩種,一種是 if……else…… 語句,另一種是 switch 語句,還有一種select語句。

if……else……

if 條件 {
  執(zhí)行代碼
} else {
  執(zhí)行代碼
}

switch 語句

switch condition {
  case condition1:
    ...
  case condition2:
    ...
  default:
    ...
}

select 語句

這涉及到一些高級(jí)語法,本篇先不講述,我將在下一篇詳細(xì)解釋,感興趣的同學(xué)們可以自己查閱資料先學(xué)習(xí)一下。

switch語句中沒有break語句,golang的語法經(jīng)過優(yōu)化后,在某個(gè)case執(zhí)行完畢后就退出switch了,不會(huì)再接著往下執(zhí)行;

如果希望執(zhí)行了某個(gè)case之后接著往下執(zhí)行,可以在每個(gè)case最后使用fallthrough關(guān)鍵字。注意,使用fallthrough關(guān)鍵字后,后面的case是強(qiáng)制執(zhí)行,無論condition是否為true

for 循環(huán)語句

golang的循環(huán)語句只有一種。那就是for語句。for語句有幾種形式。

標(biāo)準(zhǔn)格式

/*for init; condition; next {
 doSomething
}*/
for i:=0; i20; i++ {
 fmt.Println("i is: %d", i)
}

特殊格式

//無限循環(huán)
for {
 doSomething
}
for true {
 doSomething
}
//省略init或next
for ; sum100; {
 sum = sum + 1
}

控制語句

break、continue和goto是用于for語句或switch語句內(nèi)的控制語句,其用法于c或c++中的用法相似,這里就不再贅述了。

看到這里,大家應(yīng)該都覺得似曾相識(shí),好像學(xué)過的編程語言都有這些東西。所以大家應(yīng)該不用花太多時(shí)間在基礎(chǔ)語法上,幾分鐘就能看完。看完這些基礎(chǔ)知識(shí),大家應(yīng)該可以寫出一些簡(jiǎn)單代碼來驗(yàn)證今天的基礎(chǔ)語法。

但是,這里也只是講解了一些基礎(chǔ)用法,在接下來的學(xué)習(xí)中,我們還會(huì)遇到更多高級(jí)的用法,包括select、channel、方法、切片、范圍、集合和接口等內(nèi)容。

golnag的開發(fā)者工具

我現(xiàn)在使用的開發(fā)者工具是GoLand。這是一個(gè)非常強(qiáng)大的golang開發(fā)工具。因此在此我也推薦大家使用GoLand開發(fā)工具來開發(fā)我們的golang博客系統(tǒng)。

到此這篇關(guān)于golang的基礎(chǔ)語法和常用開發(fā)工具的文章就介紹到這了,更多相關(guān)golang常用開發(fā)工具內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解golang 模板(template)的常用基本語法
  • 對(duì)Golang import 導(dǎo)入包語法詳解
  • 手把手帶你走進(jìn)Go語言之語法基礎(chǔ)解析

標(biāo)簽:鷹潭 松原 河池 泰安 武漢 黔西 宜春 保定

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《golang的基礎(chǔ)語法和常用開發(fā)工具詳解》,本文關(guān)鍵詞  golang,的,基礎(chǔ),語法,和,常用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《golang的基礎(chǔ)語法和常用開發(fā)工具詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于golang的基礎(chǔ)語法和常用開發(fā)工具詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 偷窥女更衣室洗澡偷拍| 青苹果乐园高清免费播放| 机机对在一起30分钟无遮挡软件| 美女隐私部位无遮挡| 揉みしだき满员痴汉バス| 国产免费观看一级视频| 在线视频播放大全| 精品伊人久久久久网站| 蜜臀tv| 在线看片网址| 极品人妖高潮XXOO| 日本在线理论片手机观看| 亚洲一区二区三区播放在线| 搞搞网| 久久99国产精品尤物| 日韩在线观看网址| 精品成人无码亚洲AV大象影院| 波多野结衣伦理片在线观看| 现代情欲篇之换妻档案| 黄色电影推荐| 日本A级情欲片情人在线观看| 人獸交videos乱偷伦小说集| 欧美专区一区| 美女隐私黄www网站| 亚洲美女色www色| 欧美性生大片免费观看| 麻麻调教怀孕的小说| 巨粗进入娇妻哭喊求饶| 丰满岳乱妇在线观看| 天天影视综合网| 久久精品五福影院1421| 在公交车上进去我的身体| 中文字幕久久人妻一区二区三区| 看黄a大片爽爽影| 欧美成人三级网站| 男女一级簧色带| 少妇被爽到高潮动态图gif| 耽bl肉短篇高H| 高h乱肉辣文辣书阁| 催眠小说小强| 亚洲综合成人网在线观看|