Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Go语言指针访问结构体的方法

Go语言指针访问结构体的方法

作者头像
李海彬
发布于 2018-03-26 06:56:29
发布于 2018-03-26 06:56:29
1.5K00
代码可运行
举报
文章被收录于专栏:Golang语言社区Golang语言社区
运行总次数:0
代码可运行
Go有指针,但是没有指针运算。 结构体字段可以通过结构体指针来访问。通过指针间接的访问是透明的。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package main
import "fmt"
type Vertex struct {
    X int
    Y int
}
func main() {
    p := Vertex{1, 2}
    q := &p
    q.X = 1e9
    fmt.Println(p)
}

Go语言实现定时器的方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package main
import (
 "fmt"
 "time"
)
func testTimer1() {
 go func() {
  fmt.Println("test timer1")
 }()
}
func testTimer2() {
 go func() {
  fmt.Println("test timer2")
 }()
}
func timer1() {
 timer1 := time.NewTicker(1 * time.Second)
 for {
  select {
  case <-timer1.C:
   testTimer1()
  }
 }
}
func timer2() {
 timer2 := time.NewTicker(2 * time.Second)
 for {
  select {
  case <-timer2.C:
   testTimer2()
  }
 }
}
func main() {
 go timer1()
 timer2()
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Go语言的定时器示例代码
package main import ( "fmt" "time" ) func testTimer1() { go func() { fmt.Println("test timer1") }() } func testTimer2() { go func() { fmt.Println("test timer2") }() } func timer1() { timer1 := time.NewTicker(1 *
大师级码师
2021/11/01
4090
go channel 通信通道
go中最重要的一种通信通道就是channel 1.给一个 nil channel 发送数据,造成永远阻塞 2.从一个 nil channel 接收数据,造成永远阻塞 3.给一个已经关闭的 channel 发送数据,引起 panic 4.从一个已经关闭的 channel 接收数据,立即返回一个零值 package main import "fmt" // 此channel没有设置缓存,将被阻塞,所以都是执行default func main() { messages := make(chan
李海彬
2018/03/19
8530
Go语言计时器的使用详解
Go语言的标准库里提供两种类型的计时器Timer和Ticker。Timer经过指定的duration时间后被触发,往自己的时间channel发送当前时间,此后Timer不再计时。Ticker则是每隔duration时间都会把当前时间点发送给自己的时间channel,利用计时器的时间channel可以实现很多与计时相关的功能。
KevinYan
2020/05/14
2.4K0
Go 语言简介(下) - 特性
goroutine GoRoutine主要是使用go关键字来调用函数,你还可以使用匿名函数,如下所示: package main import "fmt" func f(msg string) { fmt.Println(msg) } func main(){ go f("goroutine") go func(msg string) { fmt.Println(msg) }("going") } 我们再来看一个示例,下面的代码中包括很多内容,包括时间处
李海彬
2018/03/22
2.3K0
Golang语言 指针访问结构体的方法
package main import "fmt" type STvertex struct { X int Y int } func main() { p := STvertex {1, 2} q := &p q.X = 1e9 fmt.Println(p) } 定义结构体 结构体定义需要使用 type 和 struct 语句。struct 语句定义一个新的数据类型,结构体有中一个或多个成员。type 语句设定了结构体的名称。结构体的格式如下: type s
李海彬
2018/03/20
1.3K0
go的日期操作类使用-日常使用类库no.1
我这里接下来的几个文章主要是讲解日常的业务中或者代码中使用的类库,下面我们来看代码。
公众号-利志分享
2022/04/25
3460
《Go语言入门经典》10~12章读书笔记
在Go语言中,一种约定是在调用可能出现问题的方法或函数时,返回一个类型为错误的值。这意味着如果出现问题,函数通常不会引发异常,而让调用者决定如何处理错误。
跑马溜溜的球
2020/12/07
5510
Ticker Or Sleep?定时执行的新选择
在写 Python 的时候,如果想让某个函数每 60 秒执行一次,我们一般这样写代码:
青南
2020/12/02
1.5K0
Ticker Or Sleep?定时执行的新选择
Go 定时器:Timer 和 Ticker
在日常开发中,我们可能会遇到需要延迟执行或周期性地执行一些任务。这个时候就需要用到 Go 语言中的定时器。
陈明勇
2024/01/23
1.6K6
Go 定时器:Timer 和 Ticker
Go两周入门系列-结构体(struct)
结构体指针的操作跟一般数据类型指针的操作不一样的地方是:结构体指针读写字段值不需要 * 号获取指针值。
用户10002156
2023/09/28
1930
Go两周入门系列-结构体(struct)
Go内存泄漏是怎么回事?
内存泄漏(Memory Leak)并不是指物理上的内存消失,而是在写程序的过程中,由于程序的设计不合理导致对之前使用的内存失去控制,无法再利用这块内存区域,程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
小许code
2023/04/28
1K0
Go内存泄漏是怎么回事?
Go Channel 详解
Channel是Go中的一个核心类型,你可以把它看成一个管道,通过它并发核心单元就可以发送或者接收数据进行通讯(communication)。
李海彬
2018/07/26
1.2K0
Golang之定时器,recover
package main import ( "fmt" "time" ) //定时器的使用 func main() { t := time.NewTicker(time.Second) //t.C是个channel,背后是个goroutine for v := range t.C { fmt.Println("hello,", v) } } 一次定时器 package main import ( "fmt" "time"
超蛋lhy
2018/08/31
9390
Go组件学习——cron定时器
  反而,前几天在写Java的时候,发现Java怎么启动这么慢,Java怎么能够容忍这些用不到的代码还理直气壮的躺在那……等等,这些话在哪听过类似的???
JackieZheng
2019/07/30
2.1K0
Go组件学习——cron定时器
Go语言结构体
其中struct_varibale_type可以自定义,member1也可以自定义,本质上是一个字符串,可以使用中文或者其他语言,只不过使用英文是潜规则,variable_type是基本数据类型,完全等同于C语言。
Steve Wang
2020/12/22
3720
【Go 基础篇】Go语言日期与时间函数详解:时间的掌控与转化
Go语言是一种快速、简洁且高效的编程语言,它在处理日期与时间方面提供了丰富的标准库函数。本文将详细介绍Go语言中处理日期与时间的函数,涵盖常用的日期时间操作、格式化、时区转换等内容,并介绍time.Time结构体中的相关方法。
繁依Fanyi
2023/10/12
2.2K0
【Go 基础篇】Go语言日期与时间函数详解:时间的掌控与转化
java与Go的交流
channel 可以是 _带缓冲的_。为 make 提供第二个参数作为缓冲长度来初始化一个缓冲 channel: ch := make(chan int, 100) 向缓冲 channel 发送数据的时候,只有在缓冲区满的时候才会阻塞。当缓冲区清空的时候接受阻塞。 修改例子使得缓冲区被填满,然后看看会发生什么。 package main import "fmt" func main() { c := make(chan int, 2) c <- 1 c <- 2 fmt.Println(<-c) fmt.Println(<-c) }
三产
2021/01/13
5270
Go语言入门基础
指针 Go 具有指针。 指针保存了变量的内存地址。 类型 *T 是指向类型 T的值的指针。其零值是 nil 。 var p *int 复制代码 & 符号会生成一个指向其作用对象的指针。 i := 42 p = &i 复制代码 *符号表示指针指向的底层的值。 fmt.Println(*p) // 通过指针 p 读取 i *p = 21         // 通过指针 p 设置 i 这也就是通常所说的“间接引用”或“非直接引用”。 与 C 不同,Go 没有指针运算。 package main import
李海彬
2018/03/27
6530
GO语言入门教程
Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。
终身幼稚园
2020/05/18
1K0
GO语言入门教程
Go基础--goroutine和channel
goroutine 在go语言中,每一个并发的执行单元叫做一个goroutine 这里说到并发,所以先解释一下并发和并行的概念: 并发:逻辑上具备同时处理多个任务的能力 并行:物理上在同一时刻执行多个并发任务 当一个程序启动时,其主函数即在一个单独的goroutine中运行,一般这个goroutine是主goroutine 如果想要创建新的goroutine,只需要再执行普通函数或者方法的的前面加上关键字go 通过下面一个例子演示并发的效果,主goroutine会计算第45个斐波那契函数,在计算的同时会循环
coders
2018/03/30
7950
Go基础--goroutine和channel
相关推荐
Go语言的定时器示例代码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验