首页 > 其他分享 >结构体

结构体

时间:2023-09-26 12:24:07浏览次数:23  
标签:__ name age person token 结构

Struct 是一种自定义数据类型,用于表示一组相关字段的数据结构。优点:

  1. 命名字段:结构体中的字段都有名称,因此你可以通过字段名称来访问和操作数据。

  2. 默认值:你可以为结构体字段指定默认值,确保结构体实例的字段总是有初始值。

  3. 不可变性:结构体是不可变的,这意味着一旦创建了一个结构体实例,你不能直接修改它的字段值。相反,你需要创建一个新的结构体实例,其中的字段值被更新。

  4. 模式匹配:你可以使用模式匹配来轻松地访问和解构结构体的字段。

可以使用defstruct宏来定义和使用结构体(Structs)

例子:

defmodule Person do
  defstruct name: "", age: 0
end

# 创建结构体实例
person = %Person{name: "Alice", age: 30}

# 访问结构体字段
name = person.name
age = person.age

# 模式匹配
%Person{name: name, age: age} = person
IO.puts("Name: #{name}, Age: #{age}")

# 更新结构体

 jane = %{john | name: "Jane"}

 

%__MODULE__{name: name, token: token}

__MODULE__ 是一个特殊的占位符,会被替换为当前模块的名称。这个语法通常用于在当前模块内创建一个特定的结构体的实例

例子: 

defmodule MyModule do
  defstruct name: "", token: ""

  def create_struct(name, token) do
    %__MODULE__{name: name, token: token}
  end
end

 

标签:__,name,age,person,token,结构
From: https://www.cnblogs.com/corahed1w2/p/17729820.html

相关文章

  • 网络协议的重要性与应用:理解进程间通信和网络分层结构(上)
    进程间通信有多种方式,包括管道、消息队列、共享内存和信号等。然而,如果不同设备上的进程需要进行通信,就只能通过网络来实现。由于设备的多样性,为了兼容各种设备,就需要一个统一通用的网络协议。学习网络协议的关键是了解其分层结构。之前在计算机基础专栏已经提到过网络分层的好处......
  • 关联式数据结构_哈希表剖析 #C++
    哈希概述哈希(hash)又称散列,其基本想法是,将存储的值与其存储位置建立某种映射,因此哈希的查找效率非常高,是一种支持常数平均时间查找的结构。与红黑树相比,哈希的效率表现是以统计为基础的,不需要依赖输入数据的随机性。建立值-址映射建立哈希结构的第一步是将“值”(数据)与“址”(存......
  • 数据结构学习记录(四)
    排序一、知识要点1、选择排序简单选择排序思想:在未排序的数组中选出一个最大值或最小值与序列首位元素交换,然后在剩下未排序序列再选出最大值或最小值与第二位元素交换,依次类推,直到排序完成typedefintElementType;//太简单了我就不写注释了voidSSSort(ElementType......
  • 【Java】在树结构中给节点追加数据
    一、功能需求有个树状组件,展示区域层级,每个区域节点需要展示该地区下的统计信息从来没做过,给我整不会了属实是 二、功能分析原型有功能和老系统代码,查看源码后发现的结构框架1、树组件是自己用ul+li封装的,牛逼2、数据加载逻辑是:先加载区域树接口,然后加载区域所有统计......
  • rust 代码组织结构
    使用包、Crate和模块管理不断增长的项目-Rust程序设计语言中文版rust组织结构中,包括以下几个概念Package(包),Crate(箱),Moudle(模块)Package这是Cargo的概念,对应一个Cargo.toml文件,也就是一个rust工程。用于构建、测试、共享Crate。1package=0/1libcrate+0/N......
  • (转)图的存储结构|邻接矩阵、邻接表、十字链表、邻接多重表、边集数组
    原文:https://juejin.cn/post/6996132859001962504?searchId=20230925172238C35D1579B2CBC3D2F78A7.4图的存储结构图的存储结构相较线性表与树来说就更加复杂了。首先,我们口头上说的“顶点的位置”或“邻接点的位置”只是一个相对的概念。其实从图的逻辑结构定义来看,图上任何......
  • 递归实现树形结构数据的查询处理
    最近在做一个树形结构数据的处理,类似于俄罗斯套娃那种无限层数的那种树形结构,查询出所有数据并按层级进行展示于是做了一个小demo,数据库大概如下:处理完的数据如下:[{"id":1,"name":"零食","desc":"最初级","pid":0,"nodeSign......
  • (转)Python描述数据结构之线索二叉树篇
    原文:https://blog.csdn.net/qq_42730750/article/details/108285846前言  本篇章主要介绍线索二叉树,包括线索二叉树的基本概念、构造及遍历,并用Python实现其创建及其遍历等操作。1.基本概念  上篇博客介绍的二叉链表的存储结构体现的只是一种父子关系,它不能直接得到结点在......
  • PHY结构
      PHY芯片包括MII/GMII(介质独立接口)子层、PCS(物理编码子层)、PMA(物理介质附加)子层、PMD(物理介质相关)子层、MDI子层。PCS(PHYSICALCODINGSUBLAYER):提供4B/5B编码、串并转换以及冲突检测功能,同时只要TxEN无效就提供“idle”信号给PMD层.PMA(PHYSICALMEDIUMATTACHMENT):提供......
  • 描述 .NET MAUI 体系结构
    跨平台应用开发使用的一种常见模式是考虑用户界面中的业务逻辑,然后为每个平台开发单独的用户界面和UI逻辑。虽然每种类型的设备的业务逻辑保持不变,但驱动应用和显示数据的代码可能会有所不同。出现这种差异是因为设备所提供的功能、API和特性不相同。以这种方式构建多平台应......