第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

Go 入門教程

Go 語(yǔ)言基礎(chǔ)教程
01 Go語(yǔ)言簡(jiǎn)介 02 Go 在 Windows 上的安裝及配置 03 Go 在 Linux 上的安裝與配置 04 Go 在 MacOS 上的安裝及配置 05 Git 的下載和安裝 06 VSCode 編輯器安裝和配置 07 Go 的變量聲明 08 Go 的變量賦值 09 Go 語(yǔ)言的 := 10 Go 的整型(int) 11 Go 的無(wú)符號(hào)整型(uint) 12 Go 的浮點(diǎn)型(float) 13 Go 的字符類型 14 Go 的布爾型(bool) 15 Go 的強(qiáng)制類型轉(zhuǎn)換 16 Go 語(yǔ)言的常量 17 Go 語(yǔ)言中代替枚舉的辦法 18 Go 語(yǔ)言中的運(yùn)算符 19 Go 語(yǔ)言的分支語(yǔ)句 20 Go 語(yǔ)言的循環(huán)語(yǔ)句 21 Go 語(yǔ)言的通道 22 Go 語(yǔ)言中的函數(shù) 23 Go 語(yǔ)言函數(shù)中的 defer 24 Go 語(yǔ)言中的閉包 25 Go 語(yǔ)言的指針 26 Go 語(yǔ)言中的數(shù)組 27 Go 語(yǔ)言中的切片 28 Go 語(yǔ)言中的 Map 29 Go 語(yǔ)言中的 range 30 Go 語(yǔ)言拓展以有類型 31 Go 語(yǔ)言中的結(jié)構(gòu)體和"面向?qū)ο?quot; 32 Go 語(yǔ)言中的接口 33 Go 語(yǔ)言類型的內(nèi)嵌 34 Go 語(yǔ)言中的 nil 35 Go 語(yǔ)言函數(shù)式編程 36 Go 語(yǔ)言中的錯(cuò)誤和異常處理 37 Go 語(yǔ)言的并發(fā) 38 Go 語(yǔ)言中的包 39 Go 語(yǔ)言 go mod 包依賴管理工具 40 Go 語(yǔ)言的文件操作 41 Go 語(yǔ)言中的系統(tǒng)包 42 Go 語(yǔ)言的 strings 系統(tǒng)包的使用 43 Go 語(yǔ)言中的變參 44 Go 語(yǔ)言中的反射 45 Go 語(yǔ)言性能測(cè)試 46 使用 Go 語(yǔ)言搭建簡(jiǎn)易登錄功能 47 使用 gin 包優(yōu)化登錄功能
首頁(yè) 慕課教程 Go 入門教程 Go 入門教程 30 Go 語(yǔ)言拓展以有類型

Go 語(yǔ)言拓展以有類型

在開發(fā)中,僅僅使用 Go 語(yǔ)言自帶的變量是無(wú)法滿足我們的業(yè)務(wù)需求的,就算勉強(qiáng)能滿足,對(duì)我們整個(gè)項(xiàng)目代碼后期的維護(hù)和其可讀性,都會(huì)帶來(lái)很大的不便。所以幾乎所有語(yǔ)言都支持自定義數(shù)據(jù)類型,用于拓展已有的數(shù)據(jù)類型來(lái)適應(yīng)日新月異的開發(fā)場(chǎng)景。在 Go 語(yǔ)言中可以使用 type 關(guān)鍵字自定義數(shù)據(jù)類型。

1. 自定義復(fù)雜類型

我們可以使用type Name Type去自定義一個(gè)全新的數(shù)據(jù)類型。這個(gè)類型的變量就使用Name來(lái)聲明。通常type用于將一個(gè)復(fù)雜的數(shù)據(jù)類型定義為一個(gè)全新的數(shù)據(jù)類型,便于后續(xù)使用。

代碼示例

package main

import (
    "fmt"
    "reflect"
)

type stringList []string

func main() {
    strList := stringList{"test1", "test2"}
    fmt.Println("strList的數(shù)據(jù)類型:", reflect.TypeOf(strList))
    fmt.Println("strList的值:", reflect.ValueOf(strList))
}
  • 第 8 行:自定義一個(gè)數(shù)據(jù)類型,這個(gè)數(shù)據(jù)類型為字符串切片,命名為 stringList;
  • 第 11 行:給變量 strList 定義為 stringList 類型并賦值;
  • 第 12 行:打印 strList 的數(shù)據(jù)類型;
  • 第 13 行:打印 strList 的值。

執(zhí)行結(jié)果:

圖片描述

2. 別名

type關(guān)鍵字還有一種用法,就是以已經(jīng)存在的數(shù)據(jù)類型進(jìn)行類型自定義,這種用法就叫做別名。顧名思義,就是給已經(jīng)存在的數(shù)據(jù)類型起一個(gè)新名字。常用于使用常量來(lái)開發(fā)枚舉功能時(shí),也是前文在介紹使用常量代替枚舉時(shí)的使用方式。

代碼示例

package main

import (
    "fmt"
)

type Grade int

const (
    FirstGrade Grade = iota
    SecondGrade
    ThirdGrade
    FourthGrade
    FifthGrade
    SixthGrade
)

func main() {
    fmt.Println("FirstGrade :", FirstGrade)
    fmt.Println("SecondGrade:", SecondGrade)
    fmt.Println("ThirdGrade :", ThirdGrade)
    fmt.Println("FourthGrade:", FourthGrade)
    fmt.Println("FifthGrade :", FifthGrade)
    fmt.Println("SixthGrade :", SixthGrade)
}
  • 第 7 行:給int類型定義一個(gè)名為 Grade 的別名。

執(zhí)行結(jié)果:

圖片描述

3. 小結(jié)

本文主要介紹了自定義類型 type 關(guān)鍵字的兩個(gè)用法:自定義復(fù)雜類型別名。其實(shí)這兩種用法的特性就是一致的,就是使用 type 關(guān)鍵字,在 Go 語(yǔ)言中定義了一種 Go 語(yǔ)言中原先不存在的數(shù)據(jù)類型