- 博客(16)
- 收藏
- 关注
原创 Golang 基础(十六)进制与编码
虽然Unicode的UCS4覆盖面更广,但如果我所使用的字符在ASCII码中就可以找到,比如00000001,那么我使用ASCII就只使用1个字节,而Unicode的UCS2就需要用到2个字节,00000000 00000001,用UCS4就需要用到4个字节,00000000 00000000 00000000 00000001,所以在性能和存储上来说,此刻我肯定是直接使用ASCII来表示更好,那么我如何在使用的时候是找ASCII还是UCS2或者UCS4呢,那么如何解决这种问题避免浪费计算机资源呢?
2024-11-21 16:41:16
1513
原创 Golang 基础(十五)进制转换
bitsize int:我们在转换的时候有可能自己的string特别大,这导致转换后的结果无法显示,如果写的是8,那么结果的范围只是int8 (-128 -> 127),string的结果不在这个范围则无法显示,所以这里就是对转换后的结果做约束的,字节的结果如果范围在int16 (-32768 -> 32767),那么我们这里填16则就意味着转换后的结果将会在这个范围内查找,如果刚好在这个范围内,则转换成功,写0则是int类型。因为二进制无法直接转为十六进制,所以先需要转换为十进制,再将其转换为十六进制。
2024-10-24 16:01:20
1979
原创 Golang 基础(十三)浮点型
命令执行完后,会在$GOPATH\pkg\mod的目录下就会出现github.com\shopspring\decimal@vx.x.x的目录,这就是第三方模块安排的位置。
2024-10-24 14:56:50
440
原创 Golang 基础(十一)整形
uint,在32位操作系统上使用32位(同uint32),在64位操作系统上使用64位(同uint64)int,在32位操作系统上使用32位(同int32),在64位操作系统上使用64位(同int64)字符串转整形的时候,strconv.Atoi是包含2个参数: (int,error),因此是。v2, err := strconv.Atoi(v1),可以使用"_"占位符来忽略err。两种方式进行赋值:Setint64() 和SetString()不同整形类型之间是不可以进行运算的。
2024-10-23 17:26:15
287
原创 Golang 基础(十)变量/指针内存原理
指针(两种方式) --> 指针的作用是节省内存,声明指针后,会在内存空间中开辟2块内存地址,第一块内存中存储的是第二块内存的内存地址,所以要copy相同的内容时,只需要将指针指向第一块内存的内存地址,则会指向第二块内存中存储的内容。声明变量(两种方式)
2024-10-22 10:21:24
329
原创 Golang 基础(九)循环
在for循环中,当循环遇到continue关键字时,会停止当前循环,开始下一次循环在for循环中,当循环遇到break关键字时,会跳出该循环对for进行打标签,然后可以通过break和continue实现多层循环的跳出和终止跳跃到指定的行,然后向下执行代码。
2024-10-15 16:38:27
633
原创 Golang 基础(六)输入
在fmt.Scanln中,每一个空格都代表了是一个内容的结束,所以是无法按照有空格的形式输入一行内容,比如My name is Jeremy。因此可以使用os.stdin来输入一行终端输入的内容并加以输出(os.Stdin是标准输入,终端输入的内容都会在这个文件中。若在字符串占位符后有其他一样类型的数据,则无法读取出指定的值,所以在Go中占位符后需要加一个空格来完善。line,isPrefix,err := 变量.Readline()变量:= bufio.NewReader(os.Stdin)
2024-10-14 17:38:19
345
原创 Golang 基础(五)常量
新的iota不会对前一个iota进行累加,新的iota会重新开始新一轮的计数。2)const中如果下一行没有写任何值,则下一行和上一行的值一致。1)const遇到iota,会初始化iota为0。结果是:100,1000,1000,1000。给iota可以进行加数字来改变初始值。所以结果是:1,2,2,3,3,4。3)iota每新增一行都递增1。但不支持将const也省略。iota默认是从0开始。_ 可以用来跳过某个值。
2024-10-14 16:40:11
349
原创 Golang 基础(四)变量
这个案例中,最内部没有找到定义变量的内容,于是一直向上找,直到找到为止,找到var name string = "JiLei", 最内部又对name重新赋值,则最终结果则是Jeremy。这个案例中,在最内部的作用域中并没有定义变量name, 所以一直向上一级寻找变量name,直到找到为止,若没有找到定义该变量,则语法会报错,当找到变量name后,输出该变量的值。定义一个变量: var name string = "Jeremy", 则会在内存中创建一块内存地址0xc00004e250保存Jeremy。
2024-10-11 18:15:48
1323
1
原创 Golang 基础(三)数据类型
特点:用于判断,只有true和false。可以直接进行加减乘除运算。特点:被双引号引起来。字符串可以用+进行拼接。
2024-10-11 17:51:00
239
原创 Golang 基础(二)输出
b.两者的区别就在于fmt.Println自动加入了自动换行符\n, 如果给fmt.Print加上换行符\n,那么也是会换行的。Summary: 可以看到使用fmt.print的情况下,是不会换行的。a.使用fmt.Println是会自动换行的。
2024-10-11 16:47:26
450
原创 Golang 基础(一)包管理
a.可以看到,在同一个文件夹下创建的文件都会默认属于同一个包(此处是main包),都属于同一个包的项目,在引用的时候无需导入该包,直接调用就可以。:虽然文件夹名称和包名不一致,但是也是可以的,此处文件夹名称为Jeremy,包名为main, 建议文件夹名称为main。b.函数如果是大写,意味着其他包都可以调用,如果是小写,那么就只能在该包中使用。a. 引用其他包的时候首先要导入该包import path。可以看到包名会自动填写为文件夹的名称Browser。b. 调用函数的时候是包名.函数名。
2024-10-11 16:20:30
450
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人