当前位置: 首页 > news >正文

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

在这里插入图片描述

各个类型的零值一览

在这里插入图片描述


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

请添加图片描述


相关文章:

  • EFCore_悲观锁与乐观锁(MySQL)
  • Unity 粒子特效(下)
  • 服务器BMC基础知识总结
  • vue3弹窗usehook
  • C#面:举列 a=10,b=15,在不用第三方变量的前提下,把a,b的值互换
  • Linux驱动开发实战宝典:设备模型、模块编程、I2C/SPI/USB外设精讲
  • 图形化用户界面-java头歌实训
  • python本学期所有代码!
  • 容器内存
  • 13 Redis-- 数据一致性模型、MySQL 和 Redis 的数据一致性
  • 【JavaScript脚本宇宙】从Cypress到Nightwatch.js:全面解析前端自动化测试工具
  • ROS2自定义接口Python实现机器人移动
  • llama.cpp
  • CPP入门:日期类的构建
  • [AIGC] HashMap的扩容与缩容:动态调整容量以提高性能
  • Angular 响应式表单 基础例子
  • chrome扩展demo1-小时钟
  • gf框架之分页模块(五) - 自定义分页
  • interface和setter,getter
  • maya建模与骨骼动画快速实现人工鱼
  • session共享问题解决方案
  • spring security oauth2 password授权模式
  • SSH 免密登录
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • Windows Containers 大冒险: 容器网络
  • 精彩代码 vue.js
  • 浅谈web中前端模板引擎的使用
  • 手机端车牌号码键盘的vue组件
  • 一个完整Java Web项目背后的密码
  • $.ajax,axios,fetch三种ajax请求的区别
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (定时器/计数器)中断系统(详解与使用)
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .Net Winform开发笔记(一)
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • /*在DataTable中更新、删除数据*/
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @RequestMapping-占位符映射
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [10] CUDA程序性能的提升 与 流
  • [20150904]exp slow.txt
  • [Android Pro] Notification的使用
  • [AutoSar]BSW_Com07 CAN报文接收流程的函数调用
  • [BZOJ]4817: [Sdoi2017]树点涂色
  • [codeforces] 25E Test || hash
  • [CSS3备忘] transform animation 等
  • [Excel]如何找到非固定空白格數列的條件數據? 以月份報價表單為例
  • [Flex][问题笔记]TextArea滚动条问题
  • [GN] 设计模式——面向对象设计原则概述
  • [hdu 4552] 怪盗基德的挑战书
  • [HNCTF 2022 WEEK2]easy_include 文件包含遇上nginx
  • [J2ME]url请求返回参数非法(java.lang.illegalArgument)
  • [Leetcode LCR 106.判断二分图]
  • [nlp] id2str的vocab.json转换为str2id