当前位置: 首页 > news >正文

php转职golang第二期

以下是一份简单的 Go 基本语法笔记:

变量与常量:

• var 声明变量。• const 声明常量。

数据类型:

• 整型、浮点型、布尔型、字符串型等。

流程控制:

• if-else 语句。• for 循环。

函数:

• 定义和调用函数。

数组与切片:

• 数组的定义和使用。• 切片的创建、操作和扩容。

指针:

• 理解指针的概念和使用。

结构体:

• 定义结构体和结构体方法。

接口:

• 接口的定义和实现。

这只是一个基础的概述,Go 语言还有很多其他重要的特性和语法需要进一步学习。你可以根据具体需求深入研究和实践。


在骨架子上增加血肉

变量与常量:

• var 声明变量。

package main
import ("fmt"
)func main() {var a100 inta100 = 10b100 := "KK"fmt.Print(a100)fmt.Print(b100)
}

区分:Printf,Print,Println
在这里插入图片描述

• const 声明常量。

package mainimport ("fmt"
)const pi = 3.14159
const maxValue = 100func main() {fmt.Println(pi)fmt.Print(maxValue)
}

数据类型:

• 整型、浮点型、布尔型、字符串型等。
在这里插入图片描述

流程控制:

• if-else 语句。

package mainimport "fmt"const maxValue = 100func main() {if maxValue > 10 {fmt.Print("yes")} else {fmt.Print("no")}
}

• for 循环。

package mainimport "fmt"func main() {for i := 0; i < 100; i++ {fmt.Println(i)}
}

函数:

• 定义和调用函数。

package mainimport "fmt"func compare(a, b int) int {if a > b {return a}return b
}func main() {result := compare(5, 10)fmt.Println("较大的值是:", result)
}

数组与切片:

• 数组的定义和使用。

package mainimport "fmt"func main() {// 定义一个包含 5 个整数的数组var arr1 [5]intarr1[0] = 10for i := 0; i < len(arr1); i++ {fmt.Printf("arr1[%d] = %d\n", i, arr1[i])}// 定义并初始化一个包含 3 个字符串的数组arr2 := [3]string{"apple", "banana", "cherry"}fmt.Println(arr2[1])
}

• 切片的创建、操作和扩容。

package mainimport "fmt"func main() {// 从数组中创建切片arr := [5]int{1, 2, 3, 4, 5}slice1 := arr[1:3]slice1 = append(slice1, 6)slice1[0] = 10fmt.Println(slice1)// 直接创建切片slice2 := make([]int, 3, 5) // 使用 make() 函数创建切片,指定长度和容量for i := 0; i < 10; i++ {slice2 = append(slice2, i)}fmt.Println(slice2)
}

指针:

• 理解指针的概念和使用。

package mainimport "fmt"func main() {var num int = 10ptr := &num // 地址fmt.Println("指针的值:", *ptr)
}

指针传递

package mainimport "fmt"func modifyValue(ptr *int) {*ptr = 20
}func main() {var num int = 10modifyValue(&num)fmt.Println("修改后的值:", num)
}

结构体:

• 定义结构体和结构体方法。

package mainimport "fmt"type Person struct {Name stringAge  int
}func main() {p1 := Person{Name: "张三",Age:  25,}fmt.Println(p1.Name)fmt.Println(p1.Age)
}

接口:

• 接口的定义和实现。

package mainimport "fmt"// 定义一个接口
type Shape interface {Area() float64
}// 定义一个矩形结构体
type Rectangle struct {Width  float64Height float64
}// 实现接口方法
func (r Rectangle) Area() float64 {return r.Width * r.Height
}func main() {// 创建矩形实例rect := Rectangle{Width: 5, Height: 3}// 多态调用var shape Shape = rectfmt.Println(shape.Area())
}

这只是一个基础的概述,Go 语言还有很多其他重要的特性和语法需要进一步学习。你可以根据具体需求深入研究和实践。
请大家期待php转职golang第三期

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 新学期学生资料在线收集,老师用它一分钟搞定!
  • 【Unity基础】Input中GetAxis和GetAxisRaw的区别
  • 【Android】程序开发组件—探究Jetpack
  • 【数据结构】顺序表和链表——链表(包含大量经典链表算法题)
  • 资深研发的心愿:PostgreSQL未来若能加入这些功能,将更臻完善
  • 数据结构详细解释
  • 位运算+前缀和+预处理,CF 1017D - The Wu
  • CCF推荐A类会议和期刊总结(计算机网络领域)- 2022
  • 5、Kafka
  • HTML高级技术解析与实践指南
  • Windows环境下 VS2022 编译 LAME 源码
  • 【Redis】为什么选择 Redis 做缓存?
  • 【ShuQiHere】初识 Node.js:服务器端 JavaScript 的强大之处
  • Spring1~~~
  • ONU测试需要那些协议的学习
  • 30天自制操作系统-2
  • egg(89)--egg之redis的发布和订阅
  • Git学习与使用心得(1)—— 初始化
  • iOS 系统授权开发
  • Linux各目录及每个目录的详细介绍
  • PHP的类修饰符与访问修饰符
  • 测试开发系类之接口自动化测试
  • 初识 webpack
  • 浅谈web中前端模板引擎的使用
  • 用Visual Studio开发以太坊智能合约
  • 智能合约开发环境搭建及Hello World合约
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​​​​​​​​​​​​​​Γ函数
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #数学建模# 线性规划问题的Matlab求解
  • (13):Silverlight 2 数据与通信之WebRequest
  • (20)docke容器
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (5)STL算法之复制
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (C语言)二分查找 超详细
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (ZT)一个美国文科博士的YardLife
  • (纯JS)图片裁剪
  • (二十三)Flask之高频面试点
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (计算机网络)物理层
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .NET/C# 使窗口永不获得焦点
  • .Net多线程总结
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比