一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Golang - 淺析Go語言編程當中映射和方法的基本使用

淺析Go語言編程當中映射和方法的基本使用

2020-04-28 10:40腳本之家 Golang

這篇文章主要介紹了淺析Go語言編程當中映射和方法的基本使用,是golang入門學習中的基礎知識,需要的朋友可以參考下

映射
Go編程提供的一個重要的數據類型就是映射,唯一映射一個鍵到一個值。一個鍵要使用在以后檢索值的對象。給定的鍵和值,可以在一個Map對象存儲的值。值存儲后,您可以使用它的鍵檢索。

定義映射
必須使用make函數來創建一個映射。

 

復制代碼 代碼如下:

 

/* declare a variable, by default map will be nil*/
var map_variable map[key_data_type]value_data_type

/* define the map as nil map can not be assigned any value*/
map_variable = make(map[key_data_type]value_data_type)

 


例子
下面的例子說明創建和映射的使用。

 

 

復制代碼 代碼如下:

 

 

package main

import "fmt"

func main {
   var coutryCapitalMap map[string]string
   /* create a map*/
   coutryCapitalMap = make(map[string]string)
  
   /* insert key-value pairs in the map*/
   countryCapitalMap["France"] = "Paris"
   countryCapitalMap["Italy"] = "Rome"
   countryCapitalMap["Japan"] = "Tokyo"
   countryCapitalMap["India"] = "New Delhi"
  
   /* print map using keys*/
   for country := range countryCapitalMap {
      fmt.Println("Capital of",country,"is",countryCapitalMap[country])
   }
  
   /* test if entry is present in the map or not*/
   captial, ok := countryCapitalMap["United States"]
   /* if ok is true, entry is present otherwise entry is absent*/
   if(ok){
      fmt.Println("Capital of United States is", capital) 
   }else {
      fmt.Println("Capital of United States is not present")
   }
}

 


讓我們編譯和運行上面的程序,這將產生以下結果:

 

?
1
2
3
4
5
Capital of India is New Delhi
Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of United States is not present

delete() 函數
delete()函數是用于從映射中刪除一個項目。映射和相應的鍵將被刪除。下面是一個例子:

 

復制代碼 代碼如下:

 

 

package main

import "fmt"

func main {  
   /* create a map*/
   coutryCapitalMap := map[string] string {"France":"Paris","Italy":"Rome","Japan":"Tokyo","India":"New Delhi"}
  
   fmt.Println("Original map")  
  
   /* print map */
   for country := range countryCapitalMap {
      fmt.Println("Capital of",country,"is",countryCapitalMap[country])
   }
  
   /* delete an entry */
   delete(countryCapitalMap,"France");
   fmt.Println("Entry for France is deleted") 
  
   fmt.Println("Updated map")  
  
   /* print map */
   for country := range countryCapitalMap {
      fmt.Println("Capital of",country,"is",countryCapitalMap[country])
   }
}

 


讓我們編譯和運行上面的程序,這將產生以下結果:

 

?
1
2
3
4
5
6
7
8
9
10
Original Map
Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of India is New Delhi
Entry for France is deleted
Updated Map
Capital of India is New Delhi
Capital of Italy is Rome
Capital of Japan is Tokyo

方法
Go編程語言支持特殊類型的函數調用的方法。在方法聲明的語法中,“接收器”的存在是為了表示容器中的函數。該接收器可用于通過調用函數“.”運算符。下面是一個例子:

語法

 

復制代碼 代碼如下:


func (variable_name variable_data_type) function_name() [return_type]{
   /* function body*/
}
 package main

 

import (
   "fmt"
   "math"
)

/* define a circle */
type Circle strut {
   x,y,radius float64
}

/* define a method for circle */
func(circle Circle) area() float64 {
   return math.Pi * circle.radius * circle.radius
}

func main(){
   circle := Circle(x:0, y:0, radius:5)
   fmt.Printf("Circle area: %f", circle.area())
}

 


當上述代碼被編譯和執行時,它產生了以下結果:

 

?
1
Circle area: 78.539816

 

延伸 · 閱讀

精彩推薦
  • GolangGolang中Bit數組的實現方式

    Golang中Bit數組的實現方式

    這篇文章主要介紹了Golang中Bit數組的實現方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    天易獨尊11682021-06-09
  • Golanggolang的httpserver優雅重啟方法詳解

    golang的httpserver優雅重啟方法詳解

    這篇文章主要給大家介紹了關于golang的httpserver優雅重啟的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,...

    helight2992020-05-14
  • GolangGolang通脈之數據類型詳情

    Golang通脈之數據類型詳情

    這篇文章主要介紹了Golang通脈之數據類型,在編程語言中標識符就是定義的具有某種意義的詞,比如變量名、常量名、函數名等等,Go語言中標識符允許由...

    4272021-11-24
  • Golanggolang如何使用struct的tag屬性的詳細介紹

    golang如何使用struct的tag屬性的詳細介紹

    這篇文章主要介紹了golang如何使用struct的tag屬性的詳細介紹,從例子說起,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看...

    Go語言中文網11352020-05-21
  • Golanggo語言制作端口掃描器

    go語言制作端口掃描器

    本文給大家分享的是使用go語言編寫的TCP端口掃描器,可以選擇IP范圍,掃描的端口,以及多線程,有需要的小伙伴可以參考下。 ...

    腳本之家3642020-04-25
  • Golanggolang 通過ssh代理連接mysql的操作

    golang 通過ssh代理連接mysql的操作

    這篇文章主要介紹了golang 通過ssh代理連接mysql的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    a165861639710342021-03-08
  • Golanggolang json.Marshal 特殊html字符被轉義的解決方法

    golang json.Marshal 特殊html字符被轉義的解決方法

    今天小編就為大家分享一篇golang json.Marshal 特殊html字符被轉義的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    李浩的life12792020-05-27
  • Golanggo日志系統logrus顯示文件和行號的操作

    go日志系統logrus顯示文件和行號的操作

    這篇文章主要介紹了go日志系統logrus顯示文件和行號的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    SmallQinYan12302021-02-02
主站蜘蛛池模板: 欧美大美bbb和大白屁股 | 婷婷麻豆 | 日本免费三片在线观看 | 免费看黄色片网站 | 精品一区二区三区免费毛片 | 18日本xxxxxxⅹxx96 | 日本不卡视频免费的 | 9420高清视频在线观看网百度 | 日韩精品成人免费观看 | 女人张开腿让男人桶视频免费大全 | 1024免费福利永久观看网站 | 精品国产在天天线在线麻豆 | 亚州成人| 亚洲天堂免费看 | 无码国产成人午夜在线观看不卡 | 亚洲福利区 | 亚洲热影院| 久久er99热精品一区二区 | 亚洲人成网站在线观看90影院 | 四虎国产成人亚洲精品 | 国产精品免费aⅴ片在线观看 | kkkk4444在线看片免费 | 免费精品99久久国产综合精品 | 亚洲2卡三卡4卡5卡精品 | 欧美肥胖老妇做爰变态 | 风间由美理论片在线观看 | 日韩精品成人免费观看 | 98在线视频噜噜噜国产 | 草草视频在线观看最新 | 国产未成女年一区二区 | 国产午夜精品久久理论片 | 精品日本一区二区 | 俄罗斯bbbbbbxxxxxx| 午夜精品久久久内射近拍高清 | 男人躁女人过程 | 99久在线| 日本视频在线免费观看 | 奇米视频7777| hd在线观看免费高清视频 | 调教车文 | 免费观看一级特黄三大片视频 |