美文网首页
Go 简明教程 三步走 高级篇

Go 简明教程 三步走 高级篇

作者: 面向奶酪 | 来源:发表于2019-05-02 16:16 被阅读0次

切片

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 简明教程 三步走 高级篇

    切片 1、初始化:数组需要指定大小,不指定也会根据初始化的自动推算出大小,不可改变 数组: a := [...]i...

  • Go 简明教程 三步走 中级篇

    GO 数组、指针、结构体 数组 认识指针地址和指针类型 每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的...

  • Go 简明教程 三步走 初级篇

    编程,从 Hello World 开始。 Go 变量之随意变 Go常量之不可变 Go 函数定义 "返回参数列表" ...

  • Golang 搭建环境和Goland使用汇总

    参考Jetbrains 家族利器之 Gogland 简明教程Goland 调试 Go(有介绍如何Debug) 一、...

  • A Tour of Go - Go语言之旅

    Hello,世界 这是Go语言官方的一个简明入门教程,可以帮助我们快速入门Go语言:Go语言之旅[https://...

  • Go Embed 简明教程

    title: "Go Embed 简明教程"date: 2021-03-07T14:53:56+08:00draf...

  • Go 语言 简明教程

    1. 概述 Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Rober...

  • Go教程第二十五篇:Go中的反射

    Go中的反射 本文是《Go系列教程》的第二十六篇文章。 反射是Go的高级特性之一。我将尽力讲解地简单些。 本教程具...

  • Go教程第五篇:常量

    Go教程第五篇:常量 本文是《Go系列教程》的第五篇 定义 Go里面的常量术语是用于表示固定值,例如: 5,-89...

  • Go教程第十九篇: Channels

    Go教程第十九篇: Channels 本文是《Go系列教程》的第十九篇文章。 在上一篇文章中,我们讨论了并发是如何...

网友评论

      本文标题:Go 简明教程 三步走 高级篇

      本文链接:https://www.haomeiwen.com/subject/wabnnqtx.html