Golang知识总结

文章目录

1 GOLong对比各语言异同。

C/C++:直接编译成机器码,不需要执行环境,所以一次编码只能适用于一种平台

​ 需要自己处理GC问题

JAVA:编译为中间码(字节码)

​ 需要特定的执行环境(JVM)所以一次编译多处运行,但是有虚拟化损失

JS(原生):不需要编译,直接解释执行,需要执行环境(浏览器),也有虚拟化损失

GOlang

  • 直接编译为二进制,没有虚拟化损失

  • 而且GO自带运行环境,无需处理GC问题

  • 一次编译使用多种平台,(代码基本不用改,在不同系统上编译即可)

  • 很强的高性能并发能力,并且易用性也很好

2 Runtime的特点

运行时:本质就是程序的运行环境(比如JAVA的JVM)

GO

### Golang 的基础语法与核心概念 #### 1. 结构体及其成员访问 在 Go 编程语言中,结构体是一种复合数据类型,允许开发者定义具有多个字段的对象。当操作结构体指针时,可以直接通过 `.` 运算符访问其成员,而无需显式解引用。例如,在代码片段 `p2.name = "张三"` 中,实际上是编译器自动转换为 `(*p2).name = "张三"` 来实现的[^1]。 以下是创建和使用结构体的一个简单例子: ```go type Person struct { name string } func main() { p := &Person{} p.name = "李四" fmt.Println(p.name) } ``` #### 2. 循环控制中的 `continue` 和 `break` Go 提供了两种重要的循环控制语句——`break` 和 `continue`。其中,`break` 能够立即终止整个循环;而 `continue` 则会跳过当前迭代剩余的部分,并进入下一轮循环[^2]。 下面是一个简单的示例展示如何使用这两个关键字: ```go for i := 0; i < 5; i++ { if i%2 != 0 { continue // 如果i不是偶数,则跳到下次循环 } fmt.Printf("%d ", i) // 输出所有的偶数值 } // 预期输出: 0 2 4 ``` #### 3. 变量声明与初始化 Go 支持多种变量声明的方式,主要分为传统的 `var` 关键字形式以及更简洁的短变量声明 (`:=`) 方式。对于局部作用域内的快速变量定义推荐采用后者,而对于那些需要明确指定类型的场景则适合前者[^3]。 这里给出两个不同风格的例子来进行对比说明: ```go package main import ( "fmt" ) func main() { var age int = 28 // 使用传统方式声明整型变量age并赋初值为28 height := float64(175.5) // 使用短变量声明浮点型height且初始设为175.5 fmt.Println("Age:", age, "; Height:", height) } ``` #### 总结 上述内容涵盖了关于Go语言的一些基本知识点,包括但不限于结构体的操作技巧、循环流程管理手段以及灵活运用各种变量定义机制等方面的知识要点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lcy~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值