欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > golang的基礎語法和常用開發工具詳解

golang的基礎語法和常用開發工具詳解

熱門標簽:官渡電銷外呼管理系統怎么收費 利用地圖標注位置 赤峰電銷 谷歌美發店地圖標注 杭州人工智能電銷機器人費用 貴州電話智能外呼系統 400開頭電話怎樣申請 地圖區域圖標注后導出 江蘇呼叫中心外呼系統有效果嗎

golang的基礎語法

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

注釋

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

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

定義包名

一般來說,使用開發工具的時候,包名是不需要手動輸入的,開發工具會在創建文件的時候,自動生成包名。

比如定義一個包名稱為main的包:

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

導入依賴庫

依賴庫分為系統庫和第三方依賴庫。導入方式有兩種,單行導入和合并導入。一般上開發工具會自動幫忙處理。引用一個包的時候,使用單行,需要引用多個包的時候,會自動合并引用。

注意:導入的包都必須使用,若沒有使用編譯時將報錯。所以不要引入無用的包。

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

函數

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

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

函數調用

函數的調用方式分2種,同一個包內的函數調用,可以直接寫函數名稱就可以,不同包之間的調用,需要引入對方的包,然后通過包名.函數名的方式調用。

比如下方的函數調用是調用了fmt包的Println函數。

fmt.Println("Hello World")

變量、常量、占位符、運算符、數組、指針、結構體

變量

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

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的關鍵詞,用于變量的聲明。第一、三和四種可以在任意地方聲明,當定義在函數體外時相當于全局變量;而第二種只能在函數體內聲明,相當于局部變量。變量在聲明后若不手動定義,編譯器將為其賦值為相應的默認值

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

常量

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

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

占位符

_ , a = myFunction()

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

運算符

golang的運算符包括:

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

golang的運算符合其他開發語言是一致的,這里不做更多介紹。

數組

數組是具有相同唯一類型的一組已編號且長度固定的數據項序列,這種類型可以是任意的原始類型例如整型、字符串或者自定義類型。

// 形如 var 變量名 [數量] 變量類型
var stuName [20] string

指針

一個指針變量指向了一個值的內存地址。

var-type 為指針類型,var_name 為指針變量名,* 號用于指定變量是作為一個指針。

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

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

結構體

結構體定義需要使用 type 和 struct 語句。struct 語句定義一個新的數據類型,結構體中有一個或多個成員。type 語句設定了結構體的名稱。結構體的格式如下:

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

切片

Go 語言切片是對數組的抽象。

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

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

條件語句

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

if……else……

if 條件 {
  執行代碼
} else {
  執行代碼
}

switch 語句

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

select 語句

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

switch語句中沒有break語句,golang的語法經過優化后,在某個case執行完畢后就退出switch了,不會再接著往下執行;

如果希望執行了某個case之后接著往下執行,可以在每個case最后使用fallthrough關鍵字。注意,使用fallthrough關鍵字后,后面的case是強制執行,無論condition是否為true

for 循環語句

golang的循環語句只有一種。那就是for語句。for語句有幾種形式。

標準格式

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

特殊格式

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

控制語句

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

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

但是,這里也只是講解了一些基礎用法,在接下來的學習中,我們還會遇到更多高級的用法,包括select、channel、方法、切片、范圍、集合和接口等內容。

golnag的開發者工具

我現在使用的開發者工具是GoLand。這是一個非常強大的golang開發工具。因此在此我也推薦大家使用GoLand開發工具來開發我們的golang博客系統。

到此這篇關于golang的基礎語法和常用開發工具的文章就介紹到這了,更多相關golang常用開發工具內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

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

標簽:鷹潭 松原 河池 泰安 武漢 黔西 宜春 保定

巨人網絡通訊聲明:本文標題《golang的基礎語法和常用開發工具詳解》,本文關鍵詞  golang,的,基礎,語法,和,常用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang的基礎語法和常用開發工具詳解》相關的同類信息!
  • 本頁收集關于golang的基礎語法和常用開發工具詳解的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    老司机精品视频在线| 亚洲人成人无码网www国产| 特级片在线观看| 国产欧美一二三区| 国产乱子伦视频一区二区三区| 一级黄色片大全| 欧美成人欧美edvon| 奇米色一区二区| 久久久亚洲av波多野结衣| 日韩一卡二卡三卡国产欧美| 日本色综合中文字幕| 野外性满足hd| 久久亚洲精华国产精华液| 久久超碰97人人做人人爱| 日本少妇xxxxx| 无码国产69精品久久久久同性| 欧美成人精品3d动漫h| 日本不卡一区二区三区高清视频| 日韩 中文字幕| 精品国产露脸精彩对白| 激情六月婷婷久久| 亚洲天堂网av在线| 亚洲视频一二区| 肉丝美足丝袜一区二区三区四| 欧美午夜片在线观看| 亚洲成人免费在线观看| 内射中出日韩无国产剧情| 欧美xxxx老人做受| 国产美女视频一区| 乱h高h女3p含苞待放| 亚洲激情中文1区| 人妻av一区二区| 精品国产91洋老外米糕| 国产精品99久久久久久久女警 | 久久精品女同亚洲女同13| 欧美一区永久视频免费观看| 麻豆精品视频在线观看视频| 自拍偷拍视频亚洲| 国产精品每日更新| 国产人妻精品午夜福利免费| 欧美一区二区美女| 国产一区二区三区蝌蚪| 色域天天综合网| 午夜成人免费电影| 少妇太紧太爽又黄又硬又爽小说| 国产精品美日韩| 俄罗斯女人裸体性做爰| 日韩欧美一二区| 福利一区在线观看| 欧美日韩国产中文| 国产在线一区观看| 在线观看av不卡| 蜜臀av性久久久久蜜臀aⅴ四虎| 免费看日本黄色片| 亚洲精品中文在线观看| 中文字幕在线免费看线人| 国产精品嫩草99a| 波多野结衣加勒比| 中文字幕精品一区二区精品绿巨人| 超碰人人cao| 久久久国际精品| 91麻豆123| 久久伊99综合婷婷久久伊| 菠萝蜜视频在线观看一区| 欧美一区二区日韩一区二区| 成人影视亚洲图片在线| 欧美一级二级在线观看| 成人亚洲一区二区一| 日韩三级精品电影久久久| 成人av在线网站| 欧美成人aa大片| 91免费看片在线观看| 精品乱人伦小说| 在线观看欧美一区二区| 国产视频亚洲色图| 88av在线播放| 亚洲欧美一区二区视频| 最近中文字幕免费视频| 一区二区三区免费观看| 亚洲天堂av中文字幕| 五月天一区二区三区| 一本大道久久a久久精二百| 久久99精品国产麻豆婷婷| 欧美日韩另类一区| 成人污污视频在线观看| 精品99999| 国产chinese中国hdxxxx| 成人欧美一区二区三区小说| 欧美大波大乳巨大乳| 天天操天天色综合| 欧美性欧美巨大黑白大战| 国产成人免费视频一区| 精品国产伦一区二区三区观看方式| 老司机av网站| 亚洲欧美日韩一区二区 | va亚洲va日韩不卡在线观看| www欧美成人18+| 亚洲永久无码7777kkk| 一区二区三区高清在线| 午夜69成人做爰视频| 国产一区二区电影| 精品蜜桃在线看| 人妻熟女aⅴ一区二区三区汇编| 亚洲一区二区视频在线观看| 极品颜值美女露脸啪啪| 国产福利一区在线| 国产午夜三级一区二区三| 五月天综合视频| 美女网站色91| 欧美不卡一区二区| 成人影视免费观看| 日本人妖一区二区| 欧美一区二区精品| 午夜男人的天堂| 五月天丁香久久| 欧美剧情片在线观看| 国产无套精品一区二区三区| 亚洲精品大片www| 在线亚洲免费视频| 91免费在线播放| 一区二区三区四区乱视频| 欧美优质美女网站| 色综合久久久无码中文字幕波多| 一区二区三区中文在线观看| 欧美在线色视频| 免费看91视频| 亚洲第一会所有码转帖| 在线播放91灌醉迷j高跟美女 | 91香蕉视频mp4| 亚洲老妇xxxxxx| 在线观看欧美精品| 色欲欲www成人网站| 亚洲不卡一区二区三区| 欧美一级免费大片| 亚洲精品国产熟女久久久| 国产一级精品在线| 国产精品超碰97尤物18| 日本精品一级二级| www.555国产精品免费| 日韩经典一区二区| 精品乱码亚洲一区二区不卡| 日本高清黄色片| 丁香五精品蜜臀久久久久99网站 | 国产jk精品白丝av在线观看| 久久99精品国产.久久久久久| 久久久www成人免费无遮挡大片| 亚洲少妇xxx| 99精品国产99久久久久久白柏 | 亚洲欧美另类小说视频| 欧美性大战xxxxx久久久| 国产69视频在线观看| 免费成人av在线| 国产视频在线观看一区二区三区| 麻豆视频在线免费看| 久草福利在线观看| 奇米四色…亚洲| 中文字幕巨乱亚洲| 欧美影院一区二区| 香蕉视频黄色在线观看| 国产成人精品网址| 一区二区三区精品在线观看| 日韩一级精品视频在线观看| 久久免费手机视频| 三级网站免费看| 日本成人在线视频网站| 国产清纯在线一区二区www| 日本精品视频一区二区三区| 人妻无码中文久久久久专区| 国产精品一区二区在线看| 亚洲激情综合网| 欧美成人一区二区三区片免费| 日本午夜在线观看| www国产视频| 国产成人av电影在线观看| 夜夜精品视频一区二区| 亚洲精品在线三区| 在线视频观看一区| 法国空姐电影在线观看| av日韩在线网站| 美脚の诱脚舐め脚责91| 最新国产の精品合集bt伙计| 3atv一区二区三区| 日韩精品123区| 中文字幕 亚洲一区| 成人动漫在线一区| 日韩av电影一区| 综合电影一区二区三区| 精品三级av在线| 欧洲国内综合视频| 国产亚洲精品精品精品| 色悠悠在线视频| 成人毛片老司机大片| 免费黄网站欧美| 亚洲狠狠丁香婷婷综合久久久| 精品国产乱码久久久久久闺蜜 | 久久一区二区三区国产精品| 91精品91久久久中77777| 伊人影院综合网| 亚洲精品乱码久久久久久蜜桃图片| 高清国产一区二区|