程序员面试合集第一篇
卡二条的技术圈
共 2569字,需浏览 6分钟
· 2022-11-17
为什么说Go中的字符串不能修改
字符串定义
package main
import "fmt"
func main() {
var str string = "Hello World!"
}
在Go中,字符串通常有三种定义方式:
// 第一种(全量定义)
var 变量名称 string = "字符串内容"
// 类型推导
var 变量名称 = "字符串内容"
// 短标记(只适用于局部变量)
变量名称 := "字符串内容"
字符串的定义,其实也可以通过字节的方式。这里罗列的方式是最为常见的方式。
字符串的组成
s := "Hello World!"
for _, v := range s {
fmt.Print(v)
fmt.Print("\t")
}
// 72 101 108 108 111 32 87 111 114 108 100 33
上面代码打印的内容,就是每一个字符所表示的字节码。
字符串不能修改
str := "Hello World!"
// 重新赋值
str = "Hello Go!"
// 字符串修改
str[0] = "I"
通常听到的不能修改,其实就是指的上面代码的第二种方式。并且通过这种方式修改会报错::cannot assign to s[0] (value of type byte)
Go中的字符串的数据结构体是由一个指针和长度组成的结构体,该指针指向的一个切片才是真正的字符串值
。Go中源码有这样一段定义:type stringStruct struct {
str unsafe.Pointer // 指向一个byte类型的切片指针
len int // 字符串的长度
}
fmt.Println(s[0]) // output:72
package main
import (
"fmt"
)
func main() {
s1 := []byte{72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33}
fmt.Println(string(s1))
// 将"H"修改为l
s1[0] = 108
fmt.Println(string(s1))
}
// output:
Hello World!
lello World!
字符串的赋值
package main
import (
"fmt"
)
func main() {
// 声明一个字符串,并给与初始值
s := "Hello World!"
// 对变量 s 进行重新赋值
s := "Hello Go!"
}
Hello Go!
)。原有的Hello World!
内存空间会随着垃圾回收机制被回收掉。为什么这么设计
评论
网友发问:事业编一年6万,干35年退休挣200万,程序员一年60万,5年就挣300万,事业编再爽能有程序员干五年退休爽?
上一篇:阿里P9被裁,赔偿82w在职场中,我们不可避免地会面临多样的工作机会和选择。然而,如果我们仅将这些不同的工作机会仅以金钱作为衡量标准,那么这种比较就显得过于肤浅和狭隘。一些人可能会通过直接的数学计算来决定哪个职业道路更有利可图,但这种方法忽视了工作的本质、工作量的大小、职业成长的机会,以及经
开发者全社区
0
好未来测开一面,挺简单!(0428面试原题解析)
大家好,我是二哥呀。今天继续给大家分享春招面试题《好未来测开一面原题》,附详细答案,我会用通俗易懂+手绘图的方式,让天下所有的面渣都能逆袭 😁二哥的 Java 面试指南内容较长,建议正在冲刺 24 届春招和 25 届暑期实习、秋招的同学先收藏起来,面试的时候大概率会碰到,1、二哥的 Linux 速查
沉默王二
0
【第129期】程序员的新宠:三款终端工具,让你告别Xshell!
概述 WindTerm:跨平台的SSH利器 首先介绍的是WindTerm,这是一款使用C语言开发的跨平台SSH客户端。它不仅完全免费,而且没有商业使用的限制。WindTerm支持SSH v2、Telnet、Raw Tcp等协议,而且性能出色,甚至超过了FinalShell和Electerm。功能
前端微服务
0
【送书福利】《Java面试八股文:高频面试题与求职攻略一本通》
先来唠唠最近粉丝面试回来跟我聊天,基本上都提到一个点,在面试过程中八股文占比很高(八股文70%、项目20%、10%算法)除了一些搞算法突出的厂除外。其实现在很多厂八股都是逐渐深入的方式来问,所以大家在学习的过程中,针对一些重点的内容,最好深入去学习,不然还是比较难应对这种追问式的问题。最近刚好从一位
Java后端技术
0
知乎高问:程序员有必要知道为什么做某个功能吗?
将Python客栈设为“星标⭐”第一时间收到最新资讯前言知乎上有一个提问:程序员有必要知道为什么做某个功能吗?↓↓↓今天,我们就这个话题一起来做个讨论。不知道程序员的你,在接到产品经理提的一个需求后,是习惯马上动手开始撸代码呢?还是会先暂停一下,认真思考一会如下一些问题,比如这个需求产生的背景是什么
Python客栈
0
“渣女”怎样抵抗收入暴跌,去杭州找大厂程序员“接盘”
一位好友给我分享了一张图片,看过之后,我直呼毁三观。不知是哪位大厂员工蒙在鼓里多年,被“渣女”耍的团团转。这也难怪外面传“要嫁就嫁程序员,钱多话少死得早。”敢情成为了某些“心机女”的接盘侠。我不由得想起了曾经轰动一时的“程序员苏享茂事件”,被前妻翟欣欣索要千万跳楼自杀。我在网上详细查了这个案件资料。
Python涨薪研究所
0
面试通过,背调凉了。。
整理来源|网络背调,可以很精准的检验应聘者简历中所写和所讲的是否属实,已经成为招聘企业检验员工是否合格的重要手段之一,也是应聘者在面试过程中十分反感的一点。我们经常会看到有人在网络上吐槽自己因为背调错失了高薪offer,而企业也会因为背调感到头疼。因为面试者能力很强,但是却在背调中发现有作假情况,这
码农突围
0
字节面试:如何解决MQ消息积压问题?
面试题大全:www.javacn.siteMQ(Message Queue)消息积压问题指的是在消息队列中累积了大量未处理的消息,导致消息队列中的消息积压严重,超出系统处理能力,影响系统性能和稳定性的现象。1.消息积压是哪个环节的问题?MQ 执行有三大阶段:消息生产阶段。消息存储阶段。消息消费阶段。
Java中文社群
0