返回顶部
首页 > 资讯 > 精选 >go 类型和点语法是什么
  • 358
分享到

go 类型和点语法是什么

go语言 2024-02-08 22:02:40 358人浏览 安东尼
摘要

PHP小编草莓为您介绍一下Go语言中的类型和点语法。在Go语言中,类型是变量的属性,用于定义变量的数据类型。Go语言中的类型包括基本类型(如整型、浮点型、布尔型等)和复合类型(如数组、

PHP小编草莓为您介绍一下Go语言中的类型和点语法。在Go语言中,类型是变量的属性,用于定义变量的数据类型。Go语言中的类型包括基本类型(如整型、浮点型、布尔型等)和复合类型(如数组、切片、映射等)。而点语法则是用于访问结构体和对象的属性和方法的语法。通过使用点语法,我们可以直接使用对象或结构体的属性或调用其方法,实现对数据的操作和处理。这种简洁而直观的语法使得Go语言在编程中更加便捷和高效。

问题内容

dmeo 代码

package listing12_9

import (
    "runtime"
    "sync"
    "sync/atomic"
)

type SpinLock int32

func (s *SpinLock) Lock() {
    for !atomic.CompareAndSwapint32((*int32)(s), 0, 1) {
        runtime.Gosched()
    }
}

func (s *SpinLock) Unlock() {
    atomic.StoreInt32((*int32)(s), 0)
}

func NewSpinLock() sync.Locker {
    var lock SpinLock
    return &lock
}

atomic.CompareAndSwapInt32((*int32)(s), 0, 1) 语法是什么,(*int) 和 (s) 是什么意思?

解决方法

您已在此处定义了类型:

type SpinLock int32

但是您将使用以下规范调用原子包中的方法:

func CompareAndSwapInt32(addr *int32, old, new int32) (swapped bool)

因此,要将类型为 SpinLock 的变量 s 发送到 CompareAndSwapInt32 方法,您必须向编译器说明 s< /strong> 可以用作 int32,这称为类型转换,在 golang 中我们这样做:

convertedValue := TargetType(variable)

但是在学习 Go 并发编程一书中,它使用了将变量 s 从类型 *SpinLock 转换为 *< 的老式方法strong>int32,更现代的方法可能是:

type SpinLock int32

func (s SpinLock) Lock() {
    castedS := int32(s)
    for !atomic.CompareAndSwapInt32(&castedS, 0, 1) {
        runtime.Gosched()
    }
}

func (s SpinLock) Unlock() {
    castedS := int32(s)
    atomic.StoreInt32(&castedS, 0)
    atomic.StoreInt32(&castedS, 0)
}

以上就是go 类型和点语法是什么的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: go 类型和点语法是什么

本文链接: https://lsjlt.com/news/562118.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • go 类型和点语法是什么
    php小编草莓为您介绍一下Go语言中的类型和点语法。在Go语言中,类型是变量的属性,用于定义变量的数据类型。Go语言中的类型包括基本类型(如整型、浮点型、布尔型等)和复合类型(如数组、...
    99+
    2024-02-08
    go语言
  • go语言数据类型是什么
    Go语言中的数据类型是指变量或表达式的值的属性,用于描述数据的种类和限制,分为”基本类型“、”复合类型“和”其他类型“三种:1、基本类型,包括整型、浮点型、复数型、布尔型和字符串型;2、复合类型,包括数组类型、切片类型、结构体类型、接口类型...
    99+
    2023-12-18
    go语言 Golang Go语言数据类型
  • Go语言之嵌入类型是什么
    今天小编给大家分享一下Go语言之嵌入类型是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、什么是嵌入类型先看如下代码:...
    99+
    2023-07-02
  • Go语言类型别名指的是什么
    这篇文章主要介绍了Go语言类型别名指的是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言类型别名指的是什么文章都会有所收获,下面我们一起来看看吧。在Go语言中,类型别名就是为已存在的“类型”定义一个别...
    99+
    2023-07-05
  • Go语言中数据类型和函数的关系是什么?
    在Go语言中,数据类型和函数是紧密相关的概念。因为在函数中,我们需要传递各种类型的数据作为参数,并且函数的返回值也需要指定数据类型。在本文中,我们将探讨Go语言中数据类型和函数的关系,包括函数参数的类型、函数返回值的类型、自定义数据类型和...
    99+
    2023-08-13
    数据类型 教程 函数
  • C#的指针类型语法是什么
    这篇文章主要讲解了“C#的指针类型语法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#的指针类型语法是什么”吧!指针类型(Pointer types)指针类型变量存储另一种类型的内存...
    99+
    2023-06-17
  • C#的动态类型语法是什么
    这篇文章主要介绍了C#的动态类型语法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#的动态类型语法是什么文章都会有所收获,下面我们一起来看看吧。动态(Dynamic)类型您可以存储任何类型的值在动态数据...
    99+
    2023-06-17
  • 学习 Go:什么是对象和数据类型?
    在 Go 语言中,对象和数据类型是相互关联的概念,它们是编程的基石。在本篇文章中,我们将深入探讨对象和数据类型的概念,并且会穿插演示代码,以帮助读者更好地理解这些概念。 什么是对象? 在计算机科学领域中,对象指的是可以被处理的实体,它可以...
    99+
    2023-06-25
    对象 数据类型 ide
  • mysql中什么是浮点类型
    这篇文章主要讲解了“mysql中什么是浮点类型”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中什么是浮点类型”吧!说明MySQL对小数的表示分为浮点数和定点数两种。浮点数包括flo...
    99+
    2023-06-20
  • go语言中泛型是什么
    在go语言中,泛型就是编写模板适应所有类型,只有在具体使用时才定义具体变量类型;通过引入类型形参和类型实参的概念,让一个函数能够处理多种不同类型数据的能力,这种编程方式被称为泛型编程。本教程操作环境:windows7系统、GO 1.18版本...
    99+
    2023-05-14
    泛型 Go Golang go语言
  • Go语言中类型与接口的关系是什么
    今天小编给大家分享一下Go语言中类型与接口的关系是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在Go语言中,类型和接口...
    99+
    2023-07-04
  • Go语言error类型有什么作用
    本篇内容主要讲解“Go语言error类型有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go语言error类型有什么作用”吧!在Go语言,error是一个接口类型。error接口类型是作...
    99+
    2023-07-05
  • go语言中泛型是的是什么
    今天小编给大家分享的是go语言中泛型是的是什么,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。在go语言中,泛型就是编写模板适应所有类型,只有在具体使用时才定义具体变量类型;通过引入类...
    99+
    2023-07-04
  • php是什么类型的语言
    这篇“php是什么类型的语言”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php是什么类型的语言”文章吧。php是解释型语言...
    99+
    2023-06-29
  • golang是什么类型的语言
    go 语言是一种编译型、并发、垃圾回收、强类型的编程语言。它被编译成机器码,支持并发编程,并具有自动垃圾回收功能。作为强类型的语言,go 语言要求变量显式声明其数据类型并会在编译时进行类...
    99+
    2024-04-02
  • Windows数据类型与Go语言数据类型的异同点。
    Windows数据类型与Go语言数据类型的异同点 在计算机编程中,数据类型是非常重要的一个概念。不同的编程语言所支持的数据类型也不同。本文将重点探讨Windows数据类型和Go语言数据类型之间的异同点。 Windows数据类型 Window...
    99+
    2023-09-12
    windows 数据类型 关键字
  • Go语言并发、存储和数据类型的最佳实践是什么?
    Go语言是一种高效、简洁和易于学习的编程语言,它在并发编程、存储和数据类型上有着独特的优势。本文将为你介绍Go语言在并发、存储和数据类型方面的最佳实践。 一、并发编程 Go语言的并发编程是其最大的特点之一。Go语言通过goroutine和c...
    99+
    2023-08-20
    并发 存储 数据类型
  • c语言是什么语言类型的
    c语言是一种用于开发各种软件的高级编程语言。它采用流程式范式,使用控制流语句来控制程序流程。它是一种结构化语言,使用块和函数组织代码,并遵循自顶向下的设计方法。c语言是一种编译语言,需要...
    99+
    2024-04-13
    c语言
  • GO语言中的数据类型和JavaScript有什么不同?
    随着计算机技术的不断发展,越来越多的编程语言出现在我们的视野中。其中,GO语言和JavaScript都是非常受欢迎的编程语言之一。虽然二者都是面向对象的语言,但是在数据类型方面,GO语言和JavaScript还是存在一些不同的地方。 一、...
    99+
    2023-11-12
    数据类型 存储 javascript
  • Java注解类型的语法标准是什么
    这篇文章主要介绍“Java注解类型的语法标准是什么”,在日常操作中,相信很多人在Java注解类型的语法标准是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java注解类型的语法标准是什么”的疑惑有所帮助!...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作