前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Go语言学习系列——基础语法——【坚果派-红目香薰】

Go语言学习系列——基础语法——【坚果派-红目香薰】

作者头像
红目香薰
发布2025-03-06 08:09:25
发布2025-03-06 08:09:25
3200
代码可运行
举报
文章被收录于专栏:CSDNToQQCodeCSDNToQQCode
运行总次数:0
代码可运行
作者简介:大数据领域优质创作者、CSDN博客专家 、阿里云博客专家、华为云课堂认证讲师、华为云社区云享专家、坚果派社区成员、具有10余年横向开发经验,全国教师技能大赛获奖教师,现从事于大学计算机领域教育工作。 主要内容:人工智能与大数据、Java、Python、C#、PHP、ASP.NET、ArkTS、FAQ、简历模板、学习资料、面试题库、就业指导等。 初心目标:持续输出,为技术人创造更多的价值。

Go语言学习系列——基础语法——【坚果派-红目香薰】

语法说明:

- 变量声明后必须使用 - 类型转换必须显式进行 - 不同类型变量不能直接运算 - 变量名区分大小写 - 类型转换可能会损失精度

1、变量声明与初始化

代码语言:javascript
代码运行次数:0
复制
package main

import "fmt"

func main() {
    // 1. 标准声明
    var name string = "张三"
    var age int = 25
    
    // 2. 类型推断
    var salary = 12000.50  // 自动推断为float64
    
    // 3. 简短声明
    height := 175.5
    isStudent := true
    
    // 4. 多变量声明
    var (
        city    string = "北京"
        country string = "中国"
        score   int    = 90
    )
    
    // 5. 多变量简短声明
    x, y := 100, 200

    // 打印变量
    fmt.Printf("姓名:%s\n", name)
    fmt.Printf("年龄:%d\n", age)
    fmt.Printf("薪资:%.2f\n", salary)
    fmt.Printf("身高:%.1f\n", height)
    fmt.Printf("是否学生:%t\n", isStudent)
    fmt.Printf("城市:%s\n", city)
    fmt.Printf("国家:%s\n", country)
    fmt.Printf("分数:%d\n", score)
    fmt.Printf("x=%d, y=%d\n", x, y)
}

示例效果:

2、基本数据类型

示例代码:

代码语言:javascript
代码运行次数:0
复制
package main

import "fmt"

func main() {
    // 数值类型
    intNum := 42                // 整数
    floatNum := 3.14           // 浮点数
    
    // 字符串类型
    str := "Hello Go"          // 字符串
    char := 'A'                // 字符(rune)
    
    // 布尔类型
    isTrue := true             // 布尔值
    
    // 打印数值类型
    fmt.Println("数值类型示例:")
    fmt.Printf("整数: %v, 类型: %T\n", intNum, intNum)
    fmt.Printf("浮点数: %v, 类型: %T\n", floatNum, floatNum)
    
    // 打印字符串类型
    fmt.Println("\n字符串类型示例:")
    fmt.Printf("字符串: %v, 类型: %T\n", str, str)
    fmt.Printf("字符: %v, 类型: %T\n", char, char)
    
    // 打印布尔类型
    fmt.Println("\n布尔类型示例:")
    fmt.Printf("布尔值: %v, 类型: %T\n", isTrue, isTrue)
    
    // 等待用户输入后退出
    fmt.Println("\n按回车键退出...")
    fmt.Scanln()
}

示例效果:

3、类型转换

示例代码:

代码语言:javascript
代码运行次数:0
复制
package main

import (
    "fmt"
    "strconv"
)

func main() {
    // 数值类型转换
    var a int = 100
    var b float64 = float64(a)    // int转float64
    var c int64 = int64(b)        // float64转int64
    
    // 字符串转换
    var d string = strconv.Itoa(a)      // int转string
    var e string = fmt.Sprintf("%f", b)  // float转string
    
    // 字符串转数值
    f, _ := strconv.Atoi(d)             // string转int
    g, _ := strconv.ParseFloat(e, 64)    // string转float64
    
    // 打印结果
    fmt.Printf("整数:%d\n", a)
    fmt.Printf("转换为float64:%f\n", b)
    fmt.Printf("转换为int64:%d\n", c)
    fmt.Printf("转换为string:%s\n", d)
    fmt.Printf("float转string:%s\n", e)
    fmt.Printf("string转int:%d\n", f)
    fmt.Printf("string转float64:%f\n", g)
    
    // 类型和长度
    fmt.Printf("\n类型和长度:\n")
    fmt.Printf("a的类型:%T\n", a)
    fmt.Printf("b的类型:%T\n", b)
    fmt.Printf("d的类型:%T\n", d)
    fmt.Printf("d的长度:%d\n", len(d))
}

示例效果:

强化练习内容

- 尝试不同的变量声明方式 - 实践各种类型转换 - 观察精度损失情况 - 处理类型转换错误 - 使用fmt不同的格式化输出

数据类型取值区间表

数据类型分类

英文对照

类型名称

取值区间

说明

整数类型

Integer

int8

-128 到 127

有符号 8 位整数

int16

-32768 到 32767

有符号 16 位整数

int32

-2147483648 到 2147483647

有符号 32 位整数

int64

-9223372036854775808 到 9223372036854775807

有符号 64 位整数

uint8

0 到 255

无符号 8 位整数,也称为 byte 类型

uint16

0 到 65535

无符号 16 位整数

uint32

0 到 4294967295

无符号 32 位整数

uint64

0 到 18446744073709551615

无符号 64 位整数

int

取决于系统,32 位系统为 -2147483648 到 2147483647,64 位系统为 -9223372036854775808 到 9223372036854775807

有符号整数,通常用于大多数整数运算

uint

取决于系统,32 位系统为 0 到 4294967295,64 位系统为 0 到 18446744073709551615

无符号整数

uintptr

足够存储指针的无符号整数

用于存储指针地址

浮点数类型

Floating-point

float32

约 ±1.18e-38 到 ±3.40e+38

32 位浮点数

float64

约 ±2.23e-308 到 ±1.80e+308

64 位浮点数,通常用于大多数浮点数运算

布尔类型

Boolean

bool

true 或 false

表示逻辑值

字符串类型

String

string

由 UTF-8 编码的字节序列组成,长度不限

用于存储文本数据

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Go语言学习系列——基础语法——【坚果派-红目香薰】
  • 1、变量声明与初始化
  • 2、基本数据类型
  • 3、类型转换
  • 强化练习内容
  • 数据类型取值区间表
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档