91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go語言的基本語法與常用函數是什么

發布時間:2022-07-16 09:30:20 來源:億速云 閱讀:113 作者:iii 欄目:開發技術

今天小編給大家分享一下Go語言的基本語法與常用函數是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

一、基本語法

標識符命名規范

Go 是區分大小寫的,標識符的命名包含了 Go 中變量、常量、函數、結構體、接口以及方法的命令,Go 限定任何需要對外暴露的標識符必須以大寫字母開頭,不需要對外暴露的標識符則需要以小寫字母開頭。

標識符以大寫開頭,就表示可以被外部包的代碼引用,稱之為導出。如果以小寫字母開頭,那么對外就是不可見的,但是在整個包的內部是可見且可用的。

標識符的命名應該避免與 Go 中內置的關鍵字沖突。

變量的命令規范

采用駝峰命名法,首字母根據訪問控制大寫或者小寫

var username string
var url string

常量的命名規范

常量的名稱全部使用大寫字母組成,并且使用下劃線來分隔多個詞

const JUEJIN_URL = "https://juejin.cn"

枚舉類型的常量

const (
    SUCCESS = "200"
    NOT_FOUND = "404"
    INTERAL_SERVER_ERROR = "500"
)

結構體的命名規范

結構體也是采用駝峰命名法,首字母的大小寫根據訪問控制決定

type Info stuct {
    Username string
    Age int 
}

接口命名規范

接口的命名規范與結構體的命名規范基本一致,只有一個方法的接口命名以 "er" 結尾,如 Fighter

type Fighter interface {
    fight(p []byte)(skill string, err error)
}

文件和包的命名規范

Go 文件和包的命名有小寫字母組成,簡短、有意義。注意 包的命名不要使用下劃線或者駝峰命名。

Go 中的常用關鍵字

關鍵字說明
var定義變量
const定義常量
package
import導入包關鍵字
func定義函數關鍵字
return用于修飾函數中返回值
interface定義接口
struct定義抽象數據類型
type聲明自定義類型
map聲明 map 數據類型
range用于遍歷
if、else、for、switch、break、case、continue、fallthrough、soto、default用于流程控制

Go 中的注釋

Go 中使用 // 來注釋代碼,使用 /* 多行代碼 */ 來注釋多行代碼

變量的定義與使用

Go 中的變量有多種定義方式,可以使用關鍵字 var 定義變量,也可以一次定義多個變量。

使用 var 關鍵字定義變量

var variable_name variable_type = value

一次聲明多個相同類型的變量

var variable_name1, variable_name2 variable_type

一次聲明多個不同類型的變量

var (
    variable_name1 variable_type
    variable_name2 variable_type
)

使用 := 自定判斷變量類型定義變量

name := "Tony"

可以省略 var 關鍵字

在 go-quickstart 項目下新建一個文件夾,命名為 ”01-基本語法“,在該文件夾下新建 Go 文件 ex1.go

package main

import "fmt"

func main() {

   // 使用 var 關鍵字定義變量
   var name string = "tony"
   fmt.Println("name 變量的值為:", name)

   // 使用 var 定義多個相同類型的變量
   var username, address, phone string
   username = "Tony"
   address = "NY"
   phone = "010-111222"
   fmt.Println("name、address、phone 三個變量的值分別為:", username, address, phone)

   // 使用 var 定義多個不同類型的變量
   var (
      user_name    string
      user_age     int
      user_balance float64
   )

   user_name = "tony"
   user_age = 40
   user_balance = 1000000.0
   fmt.Println("user_name, user_age, user_balance 三個變量的值分別為:", user_name, user_age, user_balance)

   // 使用自動類型推斷方式定義變量
   user_id := 1000
   fmt.Println("user_id 變量的值為:", user_id)
}

執行上述代碼,輸出結果如下:

name 變量的值為: tony
name、address、phone 三個變量的值分別為: Tony NY 010-111222
user_name, user_age, user_balance 三個變量的值分別為: tony 40 1e+06
user_id 變量的值為: 1000

使用 := 定義變量是 Go 中最常使用的變量定義的方式,但是這種方式定義的變量只能在局部代碼塊中使用,不能再全局使用

定義常量

常量的定義使用 const 關鍵字,常量一旦被定義就無法修改

package main

import "fmt"

func main() {

   // 定義常量使用 const 關鍵字,一旦被定義,不可修改
   const URL = "https://juejin.cn"

   fmt.Println("常量 URL 的值為:", URL)

   // 一次定義多個常量
   const (
      HOST = 3306
      APP  = "/go"
   )

   fmt.Println("HOST 和 APP 兩個常量的值為:", HOST, APP)

   // 定義常量時,如果只有第一個常量賦值了,后面常量沒有賦值情況下,默認的值等于第一個常量賦的值
   const (
      NUM = 100
      COUNT
      QUANTITY
   )
   fmt.Println("NUM,COUNT,QUANTITY 的值分別為:", NUM, COUNT, QUANTITY)
}

執行上述代碼,輸出結果如下:

常量 URL 的值為: https://juejin.cn
HOST 和 APP 兩個常量的值為: 3306 /go
NUM,COUNT,QUANTITY 的值分別為: 100 100 100

二、常用函數

main 函數與 init 函數

main 函數

在上面的代碼中,所有的代碼都是寫在使用 func 關鍵字定義的 main 函數中,在 Go 中 main 函數是入口函數,類似 Java 中的 main 函數。

init 函數

Go 中 init 函數負責 package 的初始化,init 函數:

  • 在 main 函數前執行,自動被調用,初始化 package 中的變量等

  • init 函數不能被其他函數調用

  • 每個包可以有多個 init 函數,同一個包的 init 函數執行順序與 init 函數定義的位置有關

  • 包中每個源文件也可以又有多個init 函數

  • 不同包中的 init 函數按照導入的依賴關系決定 init 函數的執行順序

  • init 函數沒有返回值

// filename ex4.go

package main

import "fmt"

func init() {
   fmt.Println("這是第一個 init 函數")
}

func init() {
   fmt.Println("這是第二個 init 函數")
}

func init() {
   fmt.Println("這是第三個 init 函數")
}

func main() {

   // 常用函數
   fmt.Println("這是 main 函數")

}

執行上述代碼,輸出記過如下:

這是第一個 init 函數
這是第二個 init 函數
這是第三個 init 函數
這是 main 函數

調用第一個和第三個 init 函數的位置,再次執行改代碼

這是第三個 init 函數
這是第一個 init 函數
這是第二個 init 函數
這是 main 函數

同一個文件中 init 函數執行的順序與位置有關,但是都會先于 main 函數執行。

init 函數 VS main 函數

main 函數和 init 函數定義時都不能有任何返回值,且都是有 Go 自動調用的。

main 函數只能定義一個,init 函數可以定義多個。

這兩個函數官方只能定義在測試環境中使用,生產環境不推薦使用。

fmt 包及其函數

上述代碼中除了 main 函數還涉及到了打印相關的函數,這些函數都在 fmt 包下,共有三個輸出函數

  • Println:自動換行,且一次輸出多個值時,多個值中間會帶有空格

  • Print:不自動換行,多個值連續輸出,沒有空格

  • Printf:格式化輸出

// filename ex5.go


package main

import "fmt"

func main() {

   // 常用函數
   name_01 := "tony1"
   name_02 := "tony2"
   name_03 := "tony3"
   fmt.Println("自動換行,多個值之間會有空格", name_01, name_02, name_03)
   fmt.Print("不自動換行,多個值之間沒有空格", name_01, name_02, name_03)
   fmt.Print("\n")
   fmt.Printf("%v, %v, %v 格式化輸出", name_01, name_02, name_03)

}

執行上述代碼,輸出結果如下:

自動換行,多個值之間會有空格 tony1 tony2 tony3
不自動換行,多個值之間會有空格tony1tony2tony3
tony1, tony2, tony3 格式化輸出

格式化輸出時 %v 表示獲取變量的值。

以上就是“Go語言的基本語法與常用函數是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

明光市| 云霄县| 麻城市| 江山市| 泸溪县| 会泽县| 嘉禾县| 阆中市| 承德县| 桑植县| 金门县| 肃宁县| 左贡县| 蚌埠市| 宁夏| 湘西| 桑植县| 涿州市| 临桂县| 称多县| 邯郸市| 道孚县| 江永县| 沾益县| 赤城县| 杭锦后旗| 东莞市| 平武县| 高阳县| 静安区| 揭西县| 庆云县| 韶关市| 静宁县| 扎鲁特旗| 怀化市| 平湖市| 衡南县| 平原县| 泰宁县| 四平市|