Go语言学习:每日一练2

Go语言学习:每日一练2

目录

  • Go语言学习:每日一练2
    • 结构体
    • 零值
      • 数组
      • 切片
      • 映射
      • 指针
    • 各个类型的零值一览

结构体

//定义
type Vertex struct {X, Y int
}
//使用
func main() {
v1 := Vertex{1, 2}
fmt.Println(v.X)
//别的实例化方式
var v2 Vertex
v2 := *new(Vertex)  //返回的是指针
}

零值

结构体的零值并非是nil,而是一个其内部各个字段取各自零值的实例

func main() {var p Personp1 := pp1.Name = "mike"fmt.Println(p.Name)fmt.Println(p1.Name)
}type Person struct {Name string
}

数组

数组的零值类似于结构体,会根据其类型设置分别设置每个元素的零值

var array [3]int
//[0, 0, 0]

var array [3]int//创建
//1.声明的时候初始化
array := [6]int{1, 2}
//2.用new
array := *new([3]int)

切片

切片的零值是nil

var slice []int//创建
//1.声明的时候初始化
slice := []int{1, 2}
//2.用make
slice := make([]int, 0)
//3.从数组创建
slice := array[0:2]

映射

零值是nil

//声明
var m map[string]string//创建map
//1. 使用字面量
m := map[string]string{
“a” : “aaaa”,
“b”: “bbbb”.
}
//2. 使用make
m := make(map[string]string)

指针

类型*T是指向T类型值的指针,其默认值为nil。指针也是一种类型。

操作符:
&操作符会生成一个指向其操作对象的指针。
*操作符表示指针指向的底层值。

var p *inta := 3
p = &a
b := *p

在这里插入图片描述

各个类型的零值一览

在这里插入图片描述


👑 天下英雄出我辈,一入江湖岁月催
我是热爱生活的「 无间行者 」,努力把实践过的解决方案分享给大家
如果这篇文章对你有用,一键三连,感谢你的鼓励,让我知道你在看

请添加图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/862151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

让GNSSRTK不再难【第17讲】

第17讲 RTK定位技术原理-站间单差浮点解 RTK技术其实就是在RTD技术的基础上增加载波观测值的使用。由于伪距的误差在分米量级,即使我们通过站间单差消除掉绝大部分的伪距误差,但受限于伪距的精度,我们也只能达到分米量级的定位水平。 但载波不同,载波的精度在毫米量级,所…

Node版本管理工具 fnm 安装使用

fnm 是一个基于 Rust 开发的 Node 版本管理工具,它的目标是提供一个快速、简单且可靠的方式来管理 Node.js 的不同版本。同时,它是跨平台的,支持 macOS、Linux、Windows。🚀 Fast and simple Node.js version manager, built in R…

头歌资源库(18)接龙序列

一、 问题描述 二、算法思想 首先,我们需要判断一个数列是否是接龙数列。可以通过遍历数列的每一个元素,判断该元素的首位数字是否等于前一个元素的末位数字。如果所有元素都满足条件,则该数列是接龙数列。 接下来,我们需要计算…

从今天开始,面朝大海,春暖花开

现在是晚上十一点多,我很困,头也很痛,床旁边放着擦边主播的ASMR,但我仍然睡不着,心里一直在默念什么,我想不如写下来。这样的念头一出,写下来的欲望就愈发强烈,我睁开眼,…

行人检测技术:思通数科大模型在自动驾驶安全中的应用

在自动驾驶技术飞速发展的今天,行人检测已成为确保道路交通安全的关键技术之一。本文将探讨如何结合思通数科大模型和计算机视觉技术,实现在城市交通环境中对行人的高效检测,为自动驾驶车辆提供必要的行人安全保障。 引言 行人检测技术是利…

vue3用自定义指令实现按钮权限

1,编写permission.ts文件 在src/utils/permission.ts import type { Directive } from "vue"; export const permission:Directive{// 在绑定元素的父组件被挂载后调用mounted(el,binding){// el:指令所绑定的元素,可以用来直接操…

备战秋招day6

算法 232. 用栈实现队列 class MyQueue {Stack<Integer> in;Stack<Integer> out;//构造器public MyQueue() {in new Stack<>();out new Stack<>();}//入队到末尾public void push(int x) {in.push(x);}//出队public int pop() {//先进先出//in的元…

大模型推理知识总结

一、大模型推理概念 大多数流行的only-decode LLM&#xff08;例如 GPT-3&#xff09;都是针对因果建模目标进行预训练的&#xff0c;本质上是作为下一个词预测器。这些 LLM 将一系列tokens作为输入&#xff0c;并自回归生成后续tokens&#xff0c;直到满足停止条件&#xff0…

【PL理论深化】(8) Ocaml 语言:元组和列表 | 访问元组中的元素 | 列表中的 head 和 tail | 基本列表操作符

&#x1f4ac; 写在前面&#xff1a;本章我们将探讨 OCaml 中的元组&#xff08;tuple&#xff09;和列表&#xff08;list&#xff09;&#xff0c;它们是函数式编程语言中最常用的数据结构。 目录 0x00 元组&#xff08;Tuple&#xff09; 0x01 访问元组中的元素 0x02 列表&…

IP中转是什么?IP中转会导致网速下降吗

在互联网通信中&#xff0c;IP中转是一个重要的概念&#xff0c;它涉及到数据包的路由和转发。但很多人对于IP中转及其对网络速度的影响并不十分了解。本文将详细解释IP中转的含义&#xff0c;并探讨它是否会导致网速下降。 IP中转是什么&#xff1f; IP中转&#xff0c;也称…

8.作用域与函数

1.局部变量与全局变量: 局部:在函数体或局部范围内声明的变量称为局部变量,仅在局部作用域内有效. 全局:在函数之外或全局范围内声明的变量,允许在函数内部和外部访问.不允许在函数内部修改. 2.global:用于在函数内部访问和修改全局作用域中的变量,通过在函数内部使用global关键…

沉淀强化镍基合金660大螺丝的物理性能

沉淀强化镍基合金660大螺丝&#xff0c;是一种高性能的工程材料&#xff0c;其在极端环境中展现了优异的稳定性和耐用性。以下&#xff0c;我们将深入解析其主要的物理性能。 首先&#xff0c;该合金螺丝的密度为7.99g/cm&#xff0c;这意味着它具有较高的质量密度&#xff0c;…

MethodArgumentNotValidException

MethodArgumentNotValidException 是 Spring 框架中用于处理方法参数验证失败时抛出的异常。通常在使用 Spring MVC 或 Spring Boot 时&#xff0c;当请求体中的数据未通过验证注解&#xff08;如 NotNull, Size, Min, Max 等&#xff09;的检查时&#xff0c;会抛出此异常。 …

lodash _.template()方法的使用

背景&#xff1a; 使用_.template()生成对应数据的对应html代码 核心代码&#xff1a; //定义一个变量来装finalHtml var finalHtml //1.模版 compiled _.template([<span class"${clazz}" index"${index}" style"bac…

APM Profile 在系统可观测体系中的应用

引言 应用程序性能分析&#xff08;Application Performance Management&#xff0c;APM&#xff09;是一个广泛的概念&#xff0c;涉及应用程序运行时各种性能指标的监测、诊断和优化。在可观测体系建设中&#xff0c;APM 是保障系统业务运行性能的关键技术&#xff0c;确保用…

Tomcat WEB站点部署

目录 1、使用war包部署web站点 2、自定义默认网站目录 3、部署开源站点&#xff08;jspgou商城&#xff09; 对主机192.168.226.22操作 对主机192.168.226.20操作 上线的代码有两种方式&#xff1a; 第一种方式是直接将程序目录放在webapps目录下面&#xff0c;这种方式…

多协议网关BL110钡铼6路RS485转MQTT协议云网关

在工业自动化的现代化进程中&#xff0c;物联网技术的应用日益广泛&#xff0c;特别是工业物联网网关作为连接传感器、控制器和云端平台的关键枢纽&#xff0c;发挥着至关重要的作用。BL110钡铼多协议网关作为一款专为工业环境设计的先进设备&#xff0c;不仅支持多种下行采集协…

【Vue.js】 Mixin 局部混入与全局混入的介绍和使用总结以及优缺点分析

1. Vue.js Mixin 概述 1.1 Mixin 的定义与作用 Mixin 在 Vue.js 中是一种灵活的组件复用机制。它允许我们将多个组件之间的共通功能抽象出来&#xff0c;形成一个混入对象。这样&#xff0c;我们就可以避免在多个组件中重复编写相同的代码&#xff0c;提高代码的复用性和可维…

【代码随想录】【算法训练营】【第51天】 [115]不同的子序列 [583]两个字符串的删除操作 [72]编辑距离

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 51&#xff0c;周四&#xff0c;又是不能坚持的一天~ 题目详情 [115] 不同的子序列 题目描述 115 不同的子序列 解题思路 前提&#xff1a; 思路&#xff1a; 重点&#xff1a; 代码实现 …

【chatgpt】利用遗传编程(GP)生成编译原理代码

利用遗传编程&#xff08;GP&#xff09;生成编译原理代码是一种自动化编程技术&#xff0c;通过进化算法寻找解决特定问题的最优代码。以下是如何利用GP生成编译原理代码的示例步骤&#xff1a; 1. 定义问题 确定需要解决的编译原理问题&#xff0c;如词法分析器、语法分析器…