首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 pac

2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 pac

原创
作者头像
福大大架构师每日一题
发布2022-10-28 21:55:21
发布2022-10-28 21:55:21
1.3K0
举报

2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。

代码语言:go
复制
package main

import "fmt"

func main() {
    s := []string{"A", "B", "C"}

    t := s[:1]
    fmt.Println(&s[0] == &t[0])

    u := append(s[:1], s[2:]...)
    fmt.Println(&s[0] == &u[0])
}

答案选C。这里的关键点是 append(s:1, s2:...) 会不会导致扩容。s:1 相当于 s:1:3,即容量是也是 3,因此 append 一个元素(s2:...)并不会导致扩容,因此第一个元素还是原来 s0 的元素。

在这里插入图片描述
在这里插入图片描述

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档