Go语言基础(五)—— Go语言数据类型、Go语言常量

Go 语言基础语法 本章节介绍了Go语言的基础语法,包括Go标记、行分隔符、注释、标识符、字符串连接、关键字、空格使用、格式化字符串、数据类型、变量声明、值类型与引用类型、常量以及iota的用法。Go程序由多个标记组成,行分隔符自动处理,注释分为单行和多行。标识符用于命名变量和类型,字符串通过+连接。Go语言有25个关键字和36个预定义标识符,空格用于提高代码可读性。数据类型包括布尔型、数字型、字符串型和派生类型。变量声明使用var关键字,常量使用const定义,iota用于枚举值,自动递增。这些基础语法为编写Go程序提供了必 阅读详情

Go 语言数据类型

  1. 在 Go 编程语言中,数据类型用于声明函数和变量。
  2. 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。
  3. Go 语言按类别有以下几种数据类型:
  •  布尔类型 - 它们是布尔类型,由两个预定义常量组成:(a) true (b) false 
  • 数字类型 - 它们是算术类型,在整个程序中表示:a)整数类型或 b)浮点值
  • 字符串类型 - 字符串类型表示字符串值的集合。它的值是一个字节序列。 字
    符串是不可变的类型,一旦创建后,就不可能改变字符串的内容。预先声明的
    字符串类型是 string 。

派生类型: - 包括(a)指针类型,(b)数组类型,(c)结构类型,(d)联合类型和

  • (e)函数类型(f)切片类型(g)函数类型(h)接口类型(i) 类型

数组类型和结构类型统称为聚合类型。函数的类型指定具有相同参数和结果类型的所有函数的集合。我们将在下一节中看到基本类型,而其他类型将在后续章节中介绍 。

1.数字类型

预定义与体系结构无关的整数类型是:

  • uint8 - 无符号 8 位整数(0 到 255)
  • uint16 - 无符号 16 位整数(0 到 65535)
  • uint32 - 无符号 32 位整数(0 至 4294967295)
  • uint64 - 无符号 64 位整数(0 至 18446744073709551615)
  • int8 - 带符号的 8 位整数(-128 到 127)
  • int16 - 带符号的 16 位整数(-32768 到 32767)
  • int32 - 带符号的 32 位整数(-2147483648 至 2147483647)
  • int64 -  带 符 号 的 64 位 整 数 (-9223372036854775808 至9223372036854775807)

 2.浮点类型

预定义与体系结构无关的整数类型是:

  • float32 - IEEE-754 32 位浮点数
  • float64 - IEEE-754 64 位浮点数
  • complex64 - 复数带有 float32 实部和虚部
  • complex128 - 复数带有 float64 实部和虚部

 n 位整数的值是 n 位,并且使用二进制补码算术运算来表示。

3. 其他数字类型

还有一组具有特定大小的数字类型:

  • byte - 与 uint8 相同
  • rune - 与 int32 相同
  • uint - 32 或 64 位
  • int - 与 uint 大小相同
  • uintptr - 无符号整数,用于存储指针值的未解释位

 

 Go  语言变量

变量只是给程序可以操作的存储区域的名字。Go 中的每个变量都有一个特定的类型,它决定了变量的内存大小和布局; 可以存储在存储器内的值的范围; 以及可以应用于该变量的一组操作。变量的名称可以由字母,数字和下划线字符组成。它必须以字母或下划线开头。大写和小写字母是不同的名称,因为 Go 是区分大小写的。声明变量的一般形式是使用 var 关键字:

var 标识符 变量类型


变量声明

  1. 指定变量类型,声明后若不赋值,使用默认值。
    var 变量名 变量类型变量名 = 值

     

  2. 根据值自行判定变量类型。
    var 变量名 = 值

     

  3. 省略 var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误。 这种不带声明格式的只能在函数体中出现
    v_name := value

     


例子:

var a int = 10
var b = 10
c := 10


实例如下:
 

package main

    var a = "wek"
    var b string = "laosiji"
    var c bool

func main(){

    println(a, b, c)

}

结果为:

wek laosiji false


  多变量声明

类型相同多个变量, 非全局变量

var vname1, vname2, vname3 type

vname1, vname2, vname3 = v1, v2, v3

//和 python 很像,不需要显示声明类型,自动推断
var vname1, vname2, vname3 = v1, v2, v3 

//出现在:=左侧的变量不应该是已经被声明过的,否则会导致编译错误
vname1, vname2, vname3 := v1, v2, v3 

// 这种因式分解关键字的写法一般用于声明全局变量
var (
vname1 v_type1
vname2 v_type2
)


实例如下:
 

package main
    var x, y int //未赋初值,自动设置为 0
    var ( // 这种因式分解关键字的写法一般用于声明全局变量
    a int
    b bool
    )
    var c, d int = 1, 2
    var e, f = 123, "hello"
    //这种不带声明格式的只能在函数体中出现,
    //g, h := 123, "hello"
func main(){
    g, h := 123, "hello"
    println(x, y, a, b, c, d, e, f, g, h)
}


结果为:


0 0 0 false 1 2 123 hello 123 hello

 值类型和引用类型


所有像 int、float、bool 和 string 这些基本类型都属于值类型,使用这些类型的变量直接指向存在内存中的值:

当使用等号 = 将一个变量的值赋值给另一个变量时,如:j = i,实际上是在内存中将 i 的值进行了拷贝:

你可以通过 &i 来获取变量 i 的内存地址,例如:0xf840000040(每次的地址都可能不一样)。值类型的变量的值存储在栈中。内存地址会根据机器的不同而有所不同,甚至相同的程序在不同的机器上执行后也会有不同的内存地址。因为每台机器可能有不同的存储器布局,并且位置分配也可能不同。更复杂的数据通常会需要使用多个字,这些数据一般使用引用类型保存。一个引用类型的变量 r1 存储的是 r1 的值所在的内存地址(数字),或内存地址中第一个字所在的位置。

这个内存地址称之为指针,这个指针实际上也被存在另外的某一个字中。同一个引用类型的指针指向的多个字可以是在连续的内存地址中(内存布局是连续的),这也是计算效率最高的一种存储形式;也可以将这些字分散存放在内存中,每个字都指示了下一个字所在的内存地址。当使用赋值语句 r2 = r1 时,只有引用(地址)被复制。如果 r1 的值被改变了,那么这个值的所有引用都会指向被修改后的内容,在这个例子中,r2 也会受到影响。


简短形式,使用 :=  赋值操作符


我们知道可以在变量的初始化时省略变量的类型而由系统自动推断,声明语句写上 var 关键字其实是显得有些多余了,因此我们可以将它们简写为 a := 50 或 b := false。a 和 b 的类型(int 和 bool)将由编译器自动推断。这是使用变量的首选形式,但是它只能被用在函数体内,而不可以用于全局变量的声明与赋值。使用操作符 := 可以高效地创建一个新的变量,称之为初始化声明。
注意事项

 

  1. 如果在相同的代码块中,我们不可以再次对于相同名称的变量使用初始化声明,当变量 a在之前已经声明过了以后,又输入了 a := 20 就是不被允许的,编译器会提示错误 no new variables on left side of :=,但是 a = 20 是可以的,因为这是给相同的变量赋予一个新的值。
  2. 如果你在定义变量 a 之前使用 a=20,则会得到编译错误 undefined: a。
  3. 如果你声明了一个局部变量却没有在相同的代码块中使用它,同样会得到编译错误,例如下面这个例子当中的变量 a:
package main
import "fmt"
func main() {
var a string = "abc"
fmt.Println("hello, world")
}

尝试编译这段代码将得到错误 a declared and not used。

        4.单纯地给 a 赋值也是不够的,这个值必须被使用,所以使用fmt.Println("hello, world", a)会移除错误。

         5.全局变量是允许声明但不使用。 同一类型的多个变量可以声明在同一行,如:var a, b, c int

         6.多变量可以在同一行进行赋值,如:a, b, c = 5, 7, "abc",上面这行假设了变量 a,b 和 c 都已经被声明,否则的话应该这样使用:a, b, c := 5, 7, "abc"。右边的这些值以相同的顺序赋值给左边的变量,所以 a 的值是 5, b 的值是 7,c 的值是 "abc"。这被称为 并行 或 同时 赋值。

          7.如果你想要交换两个变量的值,则可以简单地使用 a, b = b, a。空白标识符 _ 也被用于抛弃值,如值 5 在:_, b = 5, 7 中被抛弃。_ 实际上是一个只写变量,你不能得到它的值。这样做是因为 Go 语言中你必须使用所有被声明的变量,但有时你并不需要使用从一个函数得到的所有返回值。并行赋值也被用于当一个函数返回多个返回值时,比如这里的 val 和错误 err 是通过调用 Func1函数同时得到:val, err = Func1(var1)。


 Go  语言常量

常量是指程序在执行过程中可能不会改变的固定值。 这些固定值也称为文字。常量可以是任何基本数据类型,如整数常量,浮点常量,字符常量或字符串常量。 还有枚举常量。常量一般会被编译器视为常规变量,只是它们的值不能在定义之后被修改。


整型常量
可以是十进制,八进制或十六进制常数。 前缀指定基数:前缀是 0x 或 0X 为十六进制,前缀是 0的为八进制,十进制的前缀则无任何内容。整型常量还可以有一个后缀,它是 U 和 L 的组合,分别用于 unsigned 和 long。后缀可以是大写或小写,可以是任意顺序。这里是一些有效的整型常量的例子:

212          /* 合法 */
215u         /* 合法 */
0xFeeL       /* 合法 */
078          /* 非法: 8 不是 8 进制中的值 */
032UU        /* 非法: 不能添加两个 U */
85           /* 10 进制 */
0213         /* 8 进制 */
0x4b         /* 16 进制 */
30           /* int */
30u          /* unsigned int */
30l          /* long */
30ul         /* unsigned long */

浮点型常量

有整数部分,小数点,小数部分和指数部分。您可以以十进制形式或指数形式来表示浮点文字。在使用十进制形式表示时,必须包括小数点,指数或两者,并且在使用指数形式表示时,必须包括整数部分,小数部分或两者。带符号的指数由 e 或 E 引入。
下面是一些浮点文字的示例:

3.14159      /* 合法 */
314159E-5L   /* 合法 */
510E         /* 非法: 无效的指数 */
210f         /* 非法: 没有小数*/
.e55         /* 非法: 没有整数部分 */


8.3  转义序列
Go 中有一些字符,当它们前面有一个反斜杠,它们将具有特殊的意义,它们用于
表示类似换行符(\n)或制表符(\t)。 这里,有一些这样的转义序列代码的列表:

转义序列       含义
\\            \字符
\'            '字符
\"            "字符
\?            ?字符
\a            警报或响铃
\b            退格
\f            换页
\n            新行
\r            回车
\t            水平制表格
\v            水直制表格
\ooo          八位数字一到三位数
\xhh...       一位或多位的十六进制数


以下是显示几个转义序列字符的示例:

package main

import "fmt"

func main() {
    fmt.Printf("Hello\tWorld!")
}


当上述代码被编译和执行时,它产生以下结果:

 

Hello World!


 字符串常量

字符串文字或常量用双引号""括起来。字符串包含与字符文字类似的字符:纯字符,转义序列和通用字符。可以使用字符串文字将长行拆分为多个行,并使用空格分隔它们。这里是一些字符串文字的例子。下面这三种形式都是相同的字符串。

"hello, dear"
"hello, \
dear"
"hello, " "d" "ear"


常量的定义格式:

const 标识符[类型] = 值


你可以省略类型说明符 [ 类型 ],因为编译器可以根据变量的值来推断其类型。

 

显式类型定义: const b string = "abc"
隐式类型定义: const b = "abc"


多个相同类型的声明可以简写为:

 

const c_name1, c_name2 = value1, value2


以下实例演示了常量的应用:

package main

import "fmt"

func main() {
    const LENGTH int = 10
    const WIDTH int = 5
    var area int
    const a, b, c = 1, false, "str" //多重赋值
    area = LENGTH * WIDTH
    fmt.Printf("面积为 : %d", area)
    println()
    println(a, b, c)
}


以上实例运行结果为:


 

面积为 : 50
1 false str


常量还可以用作枚举:

const (
    Unknown = 0
    Female = 1
    Male = 2
)


数字 0、1 和 2 分别代表未知性别、女性和男性。


常量可以用 len(), cap(), unsafe.Sizeof()函数计算表达式的值。常量表达式中,函数必须是内置函数,否则编译不过:

package main

import "unsafe"

const (
    a = "abc"
    b = len(a)
    c = unsafe.Sizeof(a)
)
func main(){
    println(a, b, c)
}


以上实例运行结果为:

abc 3 16

 iota

iota,特殊常量,可以认为是一个可以被编译器修改的常量。在每一个 const 关键字出现时,被重置为 0,然后再下一个 const 出现之前,每出现一次 iota,其所代表的数字会自动增加 1。iota 可以被用作枚举值:

const (
    a = iota
    b = iota
    c = iota
)

 第一个 iota 等于 0,每当 iota 在新的一行被使用时,它的值都会自动加 1;所以 a=0, b=1,c=2 可以简写为如下形式:

const (
    a = iota
    b
    c
)

 iota用法

package main

import "fmt"

func main() {
    const (
        a = iota //0
        b //1
        c //2
        d = "ha" //独立值,iota += 1
        e //"ha" iota += 1
        f = 100 //iota +=1
        g //100 iota +=1
        h = iota //7,恢复计数
        i //8
       )
    fmt.Println(a,b,c,d,e,f,g,h,i)
}

以上实例运行结果为:

0 1 2 ha ha 100 100 7 8

 

再看个有趣的的 iota 实例:

package main

import "fmt"

const (
    i=1<<iota
    j=3<<iota
    k
    l
)
func main() {
    fmt.Println("i=",i)
    fmt.Println("j=",j)
    fmt.Println("k=",k)
    fmt.Println("l=",l)
}

 

i= 1
j= 6
k= 12
l= 24

 iota 表示从 0 开始自动加 1,所以 i=1<<0, j=3<<1(<<表示左移的意思),即:i=1,j=6,这没问题,关键在 k 和 l,从输出结果看 k=3<<2,l=3<<3。

简单表述:

  • i=1:左移 0 位,不变仍为 1;
  • j=3:左移 1 位,变为二进制 110, 即 6;
  • k=3:左移 2 位,变为二进制 1100, 即 12;
  • l=3:左移 2 位,变为二进制 11000,即 24

 

【Golang学习之旅】Go 语言基础语法概览 ✅ 适合人群: Golang 新手 | 后端开发者 | 面试求职者✅ 文章亮点: 语法详解 + 实战代码 + 高质量示例✅ 目标: 10 分钟快速掌握 Golang 基础语法,助你高效写项目!Go 语言(Golang)是Google开发的一门静态强类型并发支持强语法简洁的编程语言,广泛应用于后端开发云计算微服务区块链等领域。🔹 Go 语言的 4 大核心特点:✅ 语法简洁(减少代码冗余,开发高效)✅ 高性能(比 Python 快,比 Java 简单) 阅读详情

相关推荐

Go语言基础教程1

fmt.Println(“修改后的切片内容:”, *ptrSlice) // 输出: 修改后的切片内容: [10 20 30 40]fmt.Println(“切片内容:”, numbers) // 输出: 切片内容: [10 20 30]numbers = make([]int, 0) // 初始化一个空切片。ptrSlice = &numbers // 将切片的地址赋值给指针。// 声明一个指向切片的指针。// 打印修改后的切片内容。// 声明一个整型切片。// 通过指针修改切片。// 添加元素到切片。

大白菜代码的博客 1117

golang: 常用数据类型底层结构分析

为什么80%的码农都做不了架构师?>>> ...

weixin_34033624的博客 477

第2篇_Go语言基础语法_变量常量与数据类型

本文介绍了Go语言基础语法中的变量、常量与数据类型。主要内容包括:变量声明的多种方式(var关键字、短变量声明:=、零值);基本数据类型详解(数值类型、字符串和字符类型);常量定义与iota用法;以及类型转换和变量作用域。文章通过丰富代码示例展示了Go语言强类型特性的具体应用,帮助读者掌握Go编程基础。

博哥哥的博客 850

golang学习笔记(七)

go语言中的指针跟C/C++没有什么区别,存放变量的内存地址。go指针的的空指针是nil,定义一个指针变量,它的默认值是 nil。 指针声明: var var_name *var_type 例: var Val1 *int 跟C/C++用法一样,通过操作符 "&" 取变量地址, "*" 通过指针访问目标对象。 package main import ( "fmt" ) fu...

凌云天空的博客 334

全网最详细 解决戴维南定理的详细推导

替代定理,戴维南定理详细证明

m0_52555753的博客 3万+

C++碰撞检测库FCL安装(MinGW,CMake)

FCL碰撞检测库、libccd\Eigen库编译配置,全流程问题记录

weixin_45650767的博客 4676

【GO语言基础】基本数据类型

需要根据数据类型之间的关系选择合适的方法。需要特别注意的是,不支持任意类型的隐式转换,必须使用显式类型转换来完成转换操作,并且在一些情况下可能会引起精度丢失或运行时错误。因此,在进行数据类型转换时,务必小心谨慎。

信安是不可或缺的一部分! 597

深入解析高通8155平台音频数据流:从HAL到DSP的完整链路

本文深入解析了高通8155平台音频数据从安卓HAL层到DSP的完整传输链路。以播放场景为例,详细阐述了音频数据如何通过ASoC DPCM框架进行路由、打包,并经由APR协议与DSP交互,最终驱动硬件发声的核心流程,为车载音频系统开发与调试提供了清晰的框架。

rust6ferris的博客 1176

unsigned long long类型与long long类型

最近做题的时候,经常遇到范围是2^63,取模2^64的这种题目。遇到这种限制条件时就要想到用unsigned long long类型。 可以简洁地声明为typedef unsigned long long ull。这样,如果ull类型的整数溢出了,就相当于取模2^64了。因为ull的范围是[0,2^64-1]。 而ll的范围是[-2^63,2^63-1],因为有符号的第63位表示“正负”而不表

Skyline 4万+

AVEVA PDMS 二次开发之PML实战:从宏到自定义窗体的效率提升

本文详细介绍了AVEVA PDMS二次开发中PML语言的应用,从基础宏编写到高级窗体开发,全面提升工程设计效率。通过实战案例展示如何利用PML实现批量操作、流程自动化和交互优化,帮助工程师快速掌握这一强大工具。

weixin_42549451的博客 341

别再手动盘点了!教你给微信小程序仓库系统加个‘扫码枪’:完整扫码入库与查询功能实现

本文详细介绍了如何为微信小程序仓库系统添加扫码入库与查询功能,实现零硬件成本的智能仓储管理。通过优化摄像头参数、增强动态识别算法和深度整合业务逻辑,提升扫码精度和效率,同时提供混合查询方案应对复杂场景。这套方案显著提升入库效率,降低错误率,适用于各类仓储管理需求。

weixin_30844577的博客 299

unsigned long long ,long long ,int 等其他的数据的范围

unsigned long long ,long long ,int 等其他的数据的范围:

wuxiaowu547的博客 5万+

从零到一:用CubeMX和485模块快速上手多摩川绝对式编码器(附清零操作详解)

本文详细介绍了如何使用STM32CubeMX和485模块快速上手多摩川绝对式编码器,包括硬件连接、STM32配置、协议解析及清零操作。通过具体的代码示例和调试技巧,帮助开发者高效实现编码器数据读取和清零功能,特别适合STM32单片机开发者参考。

weixin_30599769的博客 193

Go语言基础之变量和常量

文章目录Go语言基础之变量和常量标识符与关键字标识符关键字变量变量的来历变量类型变量声明标准声明批量声明变量的初始化类型推导短变量声明匿名变量常量iota几个常见的`iota`示例: Go语言基础之变量和常量 变量和常量是编程中必不可少的部分,也是很好理解的一部分。 标识符与关键字 标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母...

Allen 1万+

告别Python依赖!用C++编译PaddleOCR打造轻量级本地OCR工具(附模型选择与性能对比)

本文详细介绍了如何将PaddleOCR从Python迁移到C++平台,打造高性能、低资源占用的本地OCR工具。通过对比Python和C++实现的性能差异,展示了C++在冷启动时间、内存占用和部署便捷性上的显著优势。文章还提供了模型选择、编译配置和优化技巧等实用指南,帮助开发者轻松构建轻量级OCR解决方案。

weixin_28717467的博客 256

基于经验模态分解和核主成分分析结合长短期记忆网络EMD-KPCA-LSTM的光伏功率预测算法--Matlab

基于经验模态分解和核主成分分析结合长短期记忆网络EMD-KPCA-LSTM的光伏功率预测算法--Matlab

前程算法屋的博客 626

02_Go语言基础学习_Go程序基本结构、常量和变量、数据类型、操作符

1. 文件名&关键字&标识符 所有go源码以.go结尾; 标识符以字母或下划线开头,大小写敏感; _是特殊标识符,用来忽略结果; 保留关键字 2. Go程序基本结构 package main import( “fmt” ) func main() { fmt.Println(“hello world”) } 任何一个代码文件隶属于一个包; golang可...

数据知道的博客 2万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Golang语言基础篇001_常量变量与数据类型

在任何编程语言中,常量和变量都是最基本的概念之一。它们用于存储程序运行过程中需要的数据。在Go语言中,常量和变量有着不同的特性和使用方式。 本文将介绍Golang中常量、变量的概念、声明方式、命名规范等内容。另外,还会概述Golang中的数据类型。

ChineHe的博客 1511

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Go语言之路————go基本语法、数据类型、变量、常量、输出

我是一名多年Java开发人员,因为工作需要现在要学习go语言,Go语言之路是一个系列,记录着我从0开始接触Go,到后面能正常完成工作上的业务开发的过程,如果你也是个小白或者转Go语言的,希望我这篇文章对你有所帮助。有关go其他基础的内容的文章大家可以查看我的主页,接下来主要就是把这个系列更完,更完之后我会在每篇文章中挂上连接,方便大家跳转和复习。

StreamlineWq的博客 1218

GO语言基础

Go 对于值之间的比较有非常严格的限制,只有两个类型相同的值才可以进行比较,如果值的类型是接口,它们也必须都实现了相同的接口。map是一种特殊的数据结构:一种元素对 (pair) 的无序集合,pair 的一个元素是 key,对应的另一个元素是 value,所以这个结构也称为关联数组或字典。make也是用于内存分配的,但是和new不同,它只用于chan、 map以及切片的内存创建,而且它返回的类型就是这三个类型本身,而不是他们的指针类型,因为这三种类型就是引用类型,所以就没有必要返回他们的指针了。

~ 1410

【从零开始学习Go语言】九.Go语言之变量常量及指针总结

【从零开始学习Go语言】九.Go语言之变量和常量一.变量1.1 显示的完整声明1.2 简短声明二.常量三.基础类型四. 指针4.1定义4.2 用途五.总结 一.变量 变量是通过一个名称绑定一块内存地址,该内存地址所存储的数据类型由定义变量时指定,该内存的地址数据可以被改变;变量声明的方法有多种 1.1 显示的完整声明 package main import "fmt" func main...

一只特立独行的兔先森 1万+

go语言基础笔记

变量定义的标准格式为:var 变量名 变量类型批量定义变量:var(name string age int addr string //string:默认值为空 //int:默认值为0 //布尔类型:默认值为false //切片、函数、指针变量:默认值为nil)函数是基本的代码块,用于执行一个任务。Go 语言最少有个 main() 函数。你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。函数声明告诉了编译器函数的名称,返回类型,和参数。

weixin_52318978的博客 1110

【Go】Go语言数据类型

Go语言数据类型介绍

weixin_44211968的博客 3858

Go 语言常量

什么是常量?常量是 Go 语言中表示固定值的标识符,在程序运行期间不可更改。常量的类型仅限于布尔型、数字型(整数、浮点数、复数)和字符串型。如何定义常量?使用const,如。隐式类型:省略类型,编译器自动推断,如。常量的作用域常量可以定义在包级(全局)或函数内,编译时确定其值。特殊特性常量不能使用运算符获取地址。常量存储在数据区的常量区,变量则存储在栈区或堆区。开发中常使用全大写命名(如LENGTH)以区分变量。枚举与iota。

likuoelie的博客 844

Go语言基础入门(一):运行、输出、测试与数据类型

主题重点掌握程度环境搭建✅输出方式Printf格式化输出✅测试编写表格驱动测试✅变量常量短变量声明、iota✅数据类型值类型vs引用类型✅切片底层结构、扩容机制✅。

2401_87830042的博客 1678

【Go语言】Go语言中的变量和常量

通过constconst zero = 0.0 // 无类型浮点常量const ( // 通过一个 const 关键字定义多个常量,和 var 类似eof = -1 // 无类型整型常量const u, v float32 = 0, 3 // u = 0.0, v = 3.0,常量的多重赋值const a, b, c = 3, 4, "foo" // a = 3, b = 4, c = "foo", 无类型整型和字符串常量代码执行测试:return 100。

Python、Golang、大数据 1953
上一篇: Go语言基础(四)—— Go标记、行分隔符、注释、标识符、关键字、Go语言数据类型
下一篇: Beego ———— cookie
The_Reader
博客等级 码龄10年 74粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值