热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

原子。Golang中StoreInt32()函数示例

原子。Golang中StoreInt32()函数示例原文:h

原子。Golang 中 StoreInt32()函数示例

原文:https://www . geesforgeks . org/atomic-storeint 32-function-in-golang-with-examples/

在 Go 语言中,原子包提供低级原子内存,有助于实现同步算法。Go 语言中的 StoreInt32() 功能用于将 val 自动存储到 *addr 中。这个函数是在原子包下定义的。在这里,您需要导入“同步/原子”包才能使用这些功能。

语法:

func StoreInt32(addr *int32, val int32)

这里, addr 表示地址。

注意: (*int32)是指向 int32 值的指针。但是,int32 包含从-2147483648 到 2147483647 的所有带符号 32 位整数的集合。

返回值:将 val 存储到*addr 中,需要时可以返回。

例 1:

// Program to illustrate the usage of
// StoreInt32 function in Golang
// Including main package
package main
// importing fmt and sync/atomic
import (
    "fmt"
    "sync/atomic"
)
// Main function
func main() {
    // Defining variables for 
    // the address to store the val
    var (
        x int32
        y int32
    )
    // Using StoreInt32 method 
    // with its parameters
    atomic.StoreInt32(&x, 65)
    atomic.StoreInt32(&y, 3455)
    // Displays the value stored in addr
    fmt.Println(atomic.LoadInt32(&x))
    fmt.Println(atomic.LoadInt32(&y))
}

输出:

65
3455

这里,首先,int32 值存储在定义的地址中,然后使用上面的 LoadInt32()方法返回它们。

例 2:

// Program to illustrate the usage of
// StoreInt32 function in Golang
// Including main package
package main
// importing fmt and sync/atomic
import (
    "fmt"
    "sync/atomic"
)
// Main function
func main() {
    // Defining variables for 
    // the address to store the val
    var (
        x int32
    )
    // Using StoreInt32 method 
    // with its parameters
    atomic.StoreInt32(&x, 8943)
    // Loading the stored val
    z := atomic.LoadInt32(&x)
    // Prints true if values 
    // are same else false
    fmt.Println(z == x)
    // Prints true if addresses
    // are same else false
    fmt.Println(&z == &x)
}

输出:

true
false

这里,存储和加载的值是相同的,所以返回 true,但是它们的地址不相同,所以在这种情况下返回 false。


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • C++中的三角函数计算及其应用
    本文介绍了C++中的三角函数的计算方法和应用,包括计算余弦、正弦、正切值以及反三角函数求对应的弧度制角度的示例代码。代码中使用了C++的数学库和命名空间,通过赋值和输出语句实现了三角函数的计算和结果显示。通过学习本文,读者可以了解到C++中三角函数的基本用法和应用场景。 ... [详细]
  • 本文介绍了在多平台下进行条件编译的必要性,以及具体的实现方法。通过示例代码展示了如何使用条件编译来实现不同平台的功能。最后总结了只要接口相同,不同平台下的编译运行结果也会相同。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
author-avatar
喏焿你一辈子_997
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有