Go 简明笔记 高级篇

栏目: Go · 发布时间: 4年前

内容简介:1、初始化:数组需要指定大小,不指定也会根据初始化的自动推算出大小,不可改变数组: a := [...]int{1,2,3} a := [3]int{1,2,3}2、切片不需要指定大小

切片

1、初始化:数组需要指定大小,不指定也会根据初始化的自动推算出大小,不可改变

数组: a := [...]int{1,2,3} a := [3]int{1,2,3}

2、切片不需要指定大小

切片: a:= []int{1,2,3} a := make([]int, 5) a := make([]int, 5, 10)

Food :=[]string{"bread","Salad","egg"}
fmt.Printf("切片操作:%q\n长度:%v\n容量:%v",Food[:2],len(Food),cap(Food))
Food = append(Food,"Super Banana")

输出结果:
切片操作:["bread" "Salad"]
长度:3
容量:3

Map集合

var ccm map[string]string
ccm = make(map[string]string)
ccm["France"] = "Paris"
ccm["Italy"] = "罗马"
ccm["Japan"] = "东京"
ccm["India"] = "新德里"
for k,v := range ccm{
  fmt.Println(k,v)
}
delete(ccm,"India")
fmt.Println("\n删除Indea之后的map",ccm)

输出结果:
France Paris
Italy 罗马
Japan 东京
India 新德里


输出结果:
删除Indea之后的map map[France:Paris Italy:罗马 Japan:东京]

接口

接⼝是一个或多个方法签名的集合,任何非接口类型只要拥有与之对应的全部方法实现 (包括相同的名称、参数列表以及返回值。),就表示它"实现" 了该接口,无需显式在该类型上添加接口声明。此种方式又被称作Duck Type。

package main

import "fmt"

func main() {
  People := Student{"Mr.Potato"}
  fmt.Println(People.ReturnName())
  checkInterface(People)
  }
type People interface {
  ReturnName() string
}

// 定义一个结构体
type Student struct {
  Name string
}
// 定义结构体的一个方法。
// 突然发现这个方法同接口People的所有方法(就一个)//此时可直接认为结构体Student实现了接口Peoplefunc (s Student) ReturnName() string {
  return s.Name
}

func checkInterface(test interface{}){
  if _,ok := test.(People); ok{
     fmt.Println("No problem!!!")
  }
}

以上所述就是小编给大家介绍的《Go 简明笔记 高级篇》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Spring Into HTML and CSS

Spring Into HTML and CSS

Molly E. Holzschlag / Addison-Wesley Professional / 2005-5-2 / USD 34.99

The fastest route to true HTML/CSS mastery! Need to build a web site? Or update one? Or just create some effective new web content? Maybe you just need to update your skills, do the job better. Welco......一起来看看 《Spring Into HTML and CSS》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具