字符串转int go(字符串转int方法)

字符串转int go(字符串转int方法)目录 1 Go 语言的 Hello World nbsp 2 变量 nbsp 3 if else nbsp 4 循环 nbsp 5 switch nbsp 6 数组 nbsp nbsp 7 切片 nbsp 8 map nbsp 9 range nbsp 10 函数 nbsp 11 指针 nbsp 12 结构体 nbsp 13 结构体方法 14 错误处理 nbsp 15 字符串操作 nbsp 16 字符串格式化 nbsp 17 JSON 处理 nbsp 18 时间处理 nbsp 19 数字解析 20 nbsp 进程信息 nbsp 1 Go 语言的 Hello World nbsp 代码解读



目录

1. Go 语言的 Hello World 

2. 变量 

3. if else 

4. 循环 

5. switch 

6. 数组  

7. 切片 

8. map 

9. range 

10. 函数 

11. 指针 

12. 结构体 

13. 结构体方法

14. 错误处理 

15. 字符串操作 

16. 字符串格式化 

17. JSON处理 

18. 时间处理 

19. 数字解析

20. 进程信息 


1. Go 语言的 Hello World 

 

代码解读:

  • 这是 Go 语言程序的包声明。每个 Go 程序都必须属于一个包,包是一个特殊的包,它定义了一个可独立执行的程序。
  • 导入了包,包提供了格式化输入输出的函数。在这个程序中,我们将使用函数来输出内容。
  • 这是程序的入口点,每个可独立执行的 Go 程序都必须有一个函数。函数不接受任何参数,也不返回任何值。
  • 调用包中的函数,该函数用于在控制台打印输出内容,并在输出后自动添加一个换行符。这里输出的内容是 “hello world” 字符串。

2. 变量 

变量声明:

在go语言中,最基本的方式是使用关键字:

 

也可以同时声明多个变量或在声明变量时指定初始值:

 

GO语言中使用var关键字声明变量,支持自动推导变量的类型:[ 重点 ]

 

变量的简短声明:

Go 语言还支持简短声明变量,使用 := 操作符。例如:

 

,这种方式声明并初始化了变量a,它会自动根据赋值的类型来推断变量的类型。这里a被推断为整数类型。但是简短声明只能在函数内部使用

同样可以使用简短声明来同时声明多个变量。

变量的类型转换:

 

常量的定义:

使用关键字来定义常量:

 

如果一组常量的类型相同,还可以省略类型声明。例如:Go 语言会自动根据赋值来推断常量的类型,这里都被推断为整数类型。

3. if else 

go语言中 if 语句后没有括号,若将条件判断语句写在括号中,运行代码时编译器会自动去掉括号:

 

Go语言中 if 后必须跟{ },不能像C/C++ 一样与 if 语句写在同一行。

4. 循环 

Go语言中没有while循环和do-while循环,只有for循环一种。且for循环后面跟的条件同样也是不带括号的。

 

5. switch 

同样,switch后变量名不加括号:

 

6. 数组  

数组的声明:

 

 在实际开发过程中其实很少使用到数组,因为它的长度是固定的 ,更多时候是使用切片。

7. 切片 

切片它是一个可变长度的数组,切片有三个重要的属性:指针长度容量

使用函数创建:

 

操作方法

追加元素:

使用函数可以向切片中追加一个或多个元素,如果切片的容量不足,Go 会自动创建一个新的底层数组,并将原切片的内容复制到新数组中。

 

复制切片:

使用函数可以将一个切片的内容复制到另一个切片中。

 

切片的切片:

可以从一个切片中再创建一个子切片,子切片与原切片共享底层数组。

 

8. map 

在 Go 语言中,是一种无序的键值对集合。它的主要作用是可以根据键()快速地查找对应的值()。的键是唯一的,在同一个中不能有两个相同的键。

创建方式1:通过make函数

 

创建方式1:使用字面量创建

 

  删除键值对:

 

特别注意:Go中的map是完全无序的,遍历的时候不会按字母顺序或插入顺序输出

9. range 

在 Go 语言中,是一个用于遍历各种数据结构(如切片、数组、字符串、映射)的关键字。它提供了一种简洁的方式来遍历这些数据结构中的元素。

 

10. 函数 

 

实际的业务逻辑代码中,几乎所有的函数都返回多个值,第一个值是真正的返回结果,第二个值是错误信息。例如:

 

 该函数返回第一个值v,也就是真正的value,返回第二个值ok,也就是判断是否存在

11. 指针 

相比于C/C++里的指针,golang中支持的操作非常有限,这里的主要用途就是对传入的参数进行修改

 
  • add2 函数中,接受了一个整数参数 ,并将其值加 2。但是由于 Go 语言是值传递,只是修改了函数内部局部变量 的值,不会影响到函数外部调用处的变量。所以这个函数对传入的参数的修改不会影响到原始变量。所以在  函数中调用  后, 的值仍然是 5 。
  • add2ptr 函数中,接受一个整数指针参数 ,通过解引用指针修改其所指向的值,将其值加 2。在  函数中调用  后,由于是通过指针修改了原始变量的值,所以  的值变为 7。

在 Go 语言中,函数参数可以是值传递或指针传递。值传递会创建参数的副本,对副本的修改不会影响到原始值;而指针传递允许函数直接修改调用者的变量,因为它们共享相同的内存地址。 

12. 结构体 

在 Go 语言中,结构体 () 是一种用户自定义的数据类型,用于将多个不同类型的字段组合在一起,以表示一个复杂的数据结构。

 

结构体实例化 

1. 基本实例化

 

2. 指定字段初始化

 

没有被指定初始化的字段,会被自动初始化为其类型的零值。

3. 使用new函数实例化  (有点Java的味道了)

 
  • 函数用于创建一个指定类型的指针。对于结构体,它会返回一个指向结构体的指针。
  • 这里创建了一个结构体的指针,然后通过指针访问其字段并赋值。

结构体的比较

如果结构体的所有字段都是可比较的,那么这个结构体也是可比较的:

 

如果结构体包含不可比较的字段(如等引用类型),那么这个结构体是不可比较的。如果尝试比较这样的结构体,会导致编译错误。

13. 结构体方法

 

14. 错误处理 

基础概念:

在 Go 语言中,错误处理是构建健壮程序的重要部分。Go 语言没有像其他一些语言那样的异常机制,而是使用返回值来表示错误。大部分可能出现错误的函数都会返回一个类型的值,这个类型是一个接口,定义如下:

 

这意味着任何实现了方法并返回一个字符串的类型都满足接口。当函数执行出现问题时,会返回一个非的值来告知调用者错误信息。

简单的错误处理示例:

 

这里尝试打开一个不存在的文件,函数会返回一个非(在文件操作中,函数用于打开一个文件,它返回一个文件指针和一个值),通过检查来判断是否出现错误。如果有错误,就打印错误信息并终止程序的执行;如果没有错误,就可以正常处理文件,并且使用关键字确保文件最终会被关闭。

案例二: 

 

15. 字符串操作 

在标准库strings包中有许多字符串工具函数:

 

16. 字符串格式化 

在go语言的 fmt 包中有许多字符串格式化的方法,常用的有:

在 Go 语言中,是最常用的字符串格式化函数之一。例如,将一个整数和一个字符串格式化为一个新的字符串:

 

这里是用于格式化字符串的占位符,它会被变量的值替换;是用于格式化整数的占位符,会被变量的值替换。  (和C语言一样)

格式化占位符的类型:

  • 整数类型
    • :用于格式化十进制整数。例如,会返回。
    • :用于格式化二进制整数。如会返回。
    • :用于格式化八进制整数,返回。
    • 和:用于格式化十六进制整数,返回小写字母表示的十六进制数,返回大写字母表示的十六进制数。例如,返回,返回。
  • 浮点数类型
    • :用于格式化十进制浮点数。例如,会返回。可以通过指定精度来控制小数点后的位数,如会返回。
  • 字符串类型
    • :用于格式化字符串,如前面例子所示。
    • :用于将字符串用双引号引起来并进行转义。例如,返回,如果字符串中有特殊字符,会进行相应的转义。
  • 布尔类型
    • :用于格式化布尔值。例如,返回, 
  • 指针类型
    • :用于格式化指针的值,以十六进制形式输出。例如,对于一个指针变量,会返回指针的十六进制表示。

 在golang中还可以用%v来打印任意类型的变量

 

%v    只打印值

%+v  打印字段的名字和值 (对于结构体类型)

%#v  它比更加详细,包含了结构体的包名()、结构体类型名()以及字段名称和值

17. JSON处理 

对于已有的结构体,保证其每个字段首字母大写,那么这个结构体就能用 json.Marshal 序列化,序列化后生成一个 buf数组(可以理解为一个字符串)

 

18. 时间处理 

在 Go 语言中,可以使用函数来获取当前的时间。这个函数返回一个类型的值,它包含了年、月、日、时、分、秒、纳秒以及时区等信息。

时间戳的概念:时间戳是从 1970 年 1 月 1 日 UTC 到指定时间所经过的秒数。在 Go 语言中,可以使用方法来获取时间戳。 

 

19. 数字解析

 

20. 进程信息 

 


🌸🌸🌸 完结撒花 🌸🌸🌸

  博主WX:g2279605572   欢迎大家与我交流!

编程小号
上一篇 2025-02-14 14:06
下一篇 2025-03-13 20:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/48707.html