Go structs、slices、maps

Go structs、slices、maps

1、定义时*在变量名后面,使用时*在变量名前面。

  

  

2、定义struct,type在前,struct关键字在后。

  

3、指针可以指定struct。

  

4、A struct literal denotes a newly allocated struct value by listing the values of its fields.

  You can list just a subset of fields by using the Name: syntax. (And the order of named fields is irrelevant.)

  

5、array定义。

  

6、A slice points to an array of values and also includes a length.

  []T is a slice with elements of type T.

  

7、Slices can be re-sliced, creating a new slice value that points to the same array.

  [a,b]取值区间为a->b-1。

  

8、Making slices

  

  

9、The zero value of a slice is nil.

  A nil slice has a length and capacity of 0.

  

  对于上式,z是nil.

10、通过append方法添加元素。

  

11、range在for中可用来迭代slices。

  

12、通过_可以略去索引。

  

13、Maps must be created with make (not new) before use

  

14、Map literals are like struct literals, but the keys are required.

  

15、可以省略Vertex。If the top-level type is just a type name, you can omit it from the elements of the literal.

  

16、map的操作

  

17、函数也是一个变量。

  

18、closure。

  

参考:https://tour.golang.org/moretypes/1

时间: 2024-11-05 16:07:24

Go structs、slices、maps的相关文章

Go语言学习笔记(四) [array、slices、map]

日期:2014年7月22日 一.array[数组] 1.定义:array 由 [n]<type> 定义,n 标示 array 的长度,而 <type> 标示希望存储的内容的类型. 例如: var arr[10] int arr[0] = 1 arr[1] = 2 数组值类型的:将一个数组赋值给 另一个数组,会复制所有的元素.另外,当向函数内传递一个数组的时候,它将获得一个数组的副本,而不是数组的指针. 2.数组的复合声明.a :=[3]int{1,2,3}或简写为a:=[...]i

Python:入门笔记之list slices算法、匿名表达式、CGI、数据类型及应用领域

今天有时间,加了个python遇到个问题,然后延伸出一系列问题,有关slice,step及仔细研究了下stride的计算方法,结果搞了2个小时左右,入门就是痛苦啊,闲话不多说了,直接上问题上代码: <span style="font-size:18px;">>>> a="python" >>> print(a[::-1]) nohtyp >>> >>> print(a[:-1]) p

hive 的判断条件(if、coalesce、case)

CONDITIONAL FUNCTIONS IN HIVE Hive supports three types of conditional functions. These functions are listed below: IF( Test Condition, True Value, False Value ) The IF condition evaluates the "Test Condition" and if the "Test Condition&quo

常见Struts、Hibernate、Spring、J2EE、ibatis、Oracle等开发框架架构图及其简介

各种系统架构图及其简介 转载请保留出处,不胜人生一场醉汇总. 以下文字和架构图均在本人相关系统设计和架构方案中有所应用. 原文出处:http://space.itpub.net/6517/viewspace-609654 1.Spring架构图 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架.Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能

Google Earth数据存储、管理、表现及开发机制

一.    Google Earth(Map)介绍 1.1    Google Earth介绍 在众多的地理信息服务提供商中,Google是较早提供服务的一个,其他有如ESRI这样的巨头,也有中国的灵图.但凭借着提供优质.高效.高性价比服务的理念和Google自身的巨大影响力,Google推出的Google Earth和Google Map平台已经成为全球影响力最大的互联网空间信息服务平台. Google Earth具有十分突出的三个特点[1],一是可以显示矢量数据地标,包括点.线.面等几何类型

墨卡托投影、地理坐标系、地面分辨率、地图比例尺

GIS理论(墨卡托投影.地理坐标系.地面分辨率.地图比例尺.Bing Maps Tile System) 墨卡托投影(Mercator Projection),又名"等角正轴圆柱投影",荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地 球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅标准纬线为零度(即赤道)的"墨卡托投影"绘制出的世界地图. 一.墨卡托投影坐标系(Merc

[Stanford 2011] UIView、协议、手势识别

1.Autorotation 自动旋转时controller发生了什么?一是controller的view在controller允许的时候调整frame,方法shouldAutorotateToInterfaceOrientation返回controller是否允许view自动根据设备旋转而旋转.自动旋转接口包括竖直.上下颠倒.左横向和右横向这4种情况.只要在controller里实现这个方法就ok.   不管支持的是哪个方向,旋转的时候view的bound会改变,子view的frame会变,子

【转载】Java集合类Array、List、Map区别和联系

Java集合类主要分为以下三类: 第一类:Array.Arrays第二类:Collection :List.Set第三类:Map :HashMap.HashTable 一.Array , Arrays Java所有"存储及随机访问一连串对象"的做法,array是最有效率的一种. 1.效率高,但容量固定且无法动态改变.array还有一个缺点是,无法判断其中实际存有多少元素,length只是告诉我们array的容量. 2.Java中有一个Arrays类,专门用来操作array .array

微软要如何击败Salesforce?Office365、Azure、Dynamics365 全面布局AI | 双语

微软在上月宣布组建自己的 AI 研究小组.该小组汇集了超过 5000 名计算机科学家和工程师,加上微软内部研究部门,将共同挖掘 AI 技术. 与此同时,亚马逊,Facebook,Google,IBM 还有微软联合宣布成立一个非盈利组织「人工智能合作伙伴」.该组织将致力于推进人工智能研究,树立开发新的人工智能技术准则,以及加强公众对人工智能的认识. 而巨头们也纷纷拿出了自己的看家本领,Apple 的 Siri 利用自然语言处理来识别语音命令:Facebook 的深度学习面部识别算法能够快速准确地识