Go语言中struct的匿名属性特征实例分析
本文实例分析了Go语言中struct的匿名属性特征。分享给大家供大家参考。具体分析如下:
Go语言中struct的属性可以没有名字而只有类型,使用时类型即为属性名。(因此,一个struct中同一个类型的匿名属性只能有一个)
type PersonC struct {
id int
country string
}
//匿名属性
type Worker struct {
//如果Worker有属性id,则worker.id表示Worker对象的id
//如果Worker没有属性id,则worker.id表示Worker对象中的PersonC的id
id int
name string
int
*PersonC
}
func structTest0404() {
w := &Worker{}
w.id = 201
w.name = "Smith"
w.int = 49
w.PersonC = &PersonC{100001, "China"}
fmt.Printf("name:%s,int:%d\n", w.name, w.int)
fmt.Printf("inner PersonC,id:%d,country:%s\n",
w.PersonC.id, w.PersonC.country)
fmt.Printf("worker.id:%d,personC.id:%d\n", w.id, w.PersonC.id)
/*output:
name:Smith,int:49
inner PersonC,id:100001,country:China
worker.id:201,personC.id:100001
*/
}
希望本文所述对大家的Go语言程序设计有所帮助。
相关推荐
-
解析Go语言编程中的struct结构
struct和C语言的很相似,模拟出class的功能,但是不完全的!没有构造函数等! struct的申明 复制代码 代码如下: package main import "fmt" type Person struct { Age int Name string } func main() { //初始化两种 a := Person{} a.Age = 2 a.Name = "widuu" fmt.Println(a) b := Person{
-
Go语言struct类型详解
struct Go语言中,也和C或者其他语言一样,我们可以声明新的类型,作为其它类型的属性或字段的容器.例如,我们可以创建一个自定义类型person代表一个人的实体.这个实体拥有属性:姓名和年龄.这样的类型我们称之struct.如下代码所示: 复制代码 代码如下: type person struct { name string age int } 看到了吗?声明一个struct如此简单,上面的类型包含有两个字段. 1.一个string类型的字段name,用来保存用户名称这个属性
-
Go语言struct类型介绍
struct 我们可以声明新的类型,作为其它类型的属性或字段容器. 如,创建一个自定义类型person代表一个人的实体.这个实体拥有属性:姓名&年龄.这样的类型我们称之为struct. 复制代码 代码如下: type person struct{ name string age int } 复制代码 代码如下: var P person // P 现在就是 person 类型的变量了 P.name = "Astaxie" // 赋值 "
-
Go语言中struct的匿名属性特征实例分析
本文实例分析了Go语言中struct的匿名属性特征.分享给大家供大家参考.具体分析如下: Go语言中struct的属性可以没有名字而只有类型,使用时类型即为属性名.(因此,一个struct中同一个类型的匿名属性只能有一个) 复制代码 代码如下: type PersonC struct { id int country string } //匿名属性 type Worker struct { //如果Worker有属性id,则worker.id表示
-
GO语言中err接口及defer延迟异常处理分析
目录 err接口 panic函数 defer延迟 defer与匿名函数结合使用 recover防止程序中断 err接口 Go语言引入了一个关于错误处理的标准模式,即error接口,它是Go语言内建的接口类型,该接口的定义如下: type error interface { Error() string } 调用对应接口 err:=errors.New("this is normal err") fmt.Println(err.Error()) err2:=fmt.Errorf(&quo
-
C语言中access/_access函数的使用实例详解
在Linux下,access函数的声明在<unistd.h>文件中,声明如下: int access(const char *pathname, int mode); access函数用来判断指定的文件或目录是否存在(F_OK),已存在的文件或目录是否有可读(R_OK).可写(W_OK).可执行(X_OK)权限.F_OK.R_OK.W_OK.X_OK这四种方式通过access函数中的第二个参数mode指定.如果指定的方式有效,则此函数返回0,否则返回-1. 在Windows下没有access函
-
解析c语言中"函数调用中缺少哨兵"的情况分析
在写一个练习时候出现的.觉得奇怪,因为翻译说缺少哨兵??什么意思呢...===================================== 复制代码 代码如下: /*//练习如下,创建一个进程*/#include <unistd.h>#include <stdio.h>#include <stdlib.h> int main(void){ printf("Running ps with execlp\n"); execlp("
-
JSP自定义标签rtexprvalue属性用法实例分析
本文实例讲述了JSP自定义标签rtexprvalue属性.分享给大家供大家参考.具体如下: 其实以前也有写过自定义标签, 但是没有注意到过<rtexprvalue>的用法, 最近这几天又用上自定义标签了, 突然发现<rtexprvalue>的用法是有讲究的. rtexprvalue的全称是 Run-time Expression Value, 它用于表示是否可以使用JSP表达式. 当在<attribute>标签里指定<rtexprvalue>true<
-
javascript中innerText和innerHTML属性用法实例分析
本文实例讲述了javascript中innerText和innerHTML属性用法.分享给大家供大家参考.具体分析如下: 几乎所有DOM元素都有innerText,innertHTML属性(注意大小写),分别是元素标签内 的文本表示形式和HTML源代码,这两个属性是可读可写的 innerHTML也可以取代createElement,属于简单,粗放型,后果自负的创建 <html xmlns="http://www.w3.org/1999/xhtml"> <head>
-
C#索引属性用法实例分析
本文实例讲述了C#索引属性的用法.分享给大家供大家参考.具体如下: 这里演示C#类如何声明索引属性以表示不同种类事物的类似数组的集合. // indexedproperty.cs using System; public class Document { // 以下类型允许文档的查看方式与字的数组一样: public class WordCollection { readonly Document document; // 包含文档 internal WordCollection(Documen
-
JS中超越现实的匿名函数用法实例分析
本文实例讲述了JS中超越现实的匿名函数用法.分享给大家供大家参考,具体如下: 一般函数: function show1(name){ alert(name); //打印:zhangsan } show1("zhangsan"); 匿名函数: var show2 = function (name) { alert(name); //打印:张三 } show2("张三"); 上面2种定义函数的区别: 1.我们知道所有的function都会在window对象里 funct
-
python匿名函数用法实例分析
本文实例讲述了python匿名函数用法.分享给大家供大家参考,具体如下: 匿名函数特点: 1.只能有一个表达式 2.不用return,默认return结果 3.不需要名字,防止函数名重复 4.是对象,可赋值给一个变量 经典例子 >>> map(lambda x : x*x, [2, 4, 8, 9]) [4, 16, 64, 81] python匿名函数lambda格式: lambda 参数(可以有默认值) : 表达式 # 无参 >>> lambda : 'hello
-
Python 类的魔法属性用法实例分析
本文实例讲述了Python 类的魔法属性用法.分享给大家供大家参考,具体如下: 魔法属性 无论人或事物往往都有不按套路出牌的情况,Python的类属性也是如此,存在着一些具有特殊含义的属性,详情如下: 1. doc 表示类的描述信息 class Foo: """ 描述类信息,这是用于看片的神奇 """ def func(self): pass print(Foo.__doc__) #输出:类的描述信息 2. module 和 class modu
随机推荐
- React Native 通告消息竖向轮播组件的封装
- 详解Nginx 出现 403 Forbidden 的解决办法
- Java Web应用程序实现基础的文件下载功能的实例讲解
- asp.net RewritePath重定向HTTP头Content-Location暴露真实路径解决方法
- Python Web框架Flask下网站开发入门实例
- SQL Server--怎样用ADO在SQL SERVER中建库,建表
- RedHat下MySQL的基本使用方法分享
- 高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
- 详解 Shell中的grep命令
- 每天一篇javascript学习小结(RegExp对象)
- Ruby中XML格式数据处理库REXML的使用方法指南
- sqlserver 导出插入脚本代码
- 内网ssh/mysql登录缓慢的解决方法
- C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法
- Hadoop1.2中配置伪分布式的实例
- javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
- jquery如何获取复选框的值
- ASP.NET jquery ajax传递参数的实例
- C#常用目录文件操作类实例
- Laravel 5框架学习之子视图和表单复用
其他
- 哈希表的python实现
- java 正则表达式获取两个字符中间的字符串
- navicat15路径添加不成功
- 怎么用turtle贪吃蛇大作战
- idea 调整项目内存分配
- MySQL优化之使用连接(join)代替子查询
- mvvm中为什么不能检测数组的变化
- vue循环插入复选框
- touchSwipe 滑动速度
- Navicat Premium 12.0.29注册机
- vue导出excel没有数据
- java 读取 中括号 内容
- 布隆过滤器 哈希冲突 Java
- Feign.builder 故障容错处理
- playwright 录制脚本
- vue3 ref(props)父组件响应
- R语言forestploter 不同颜色
- php 文件锁 写锁怎么读
- requestFocus 无效 android
- android点赞和取消逻辑