前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2023-05-26:golang关于垃圾回收和析构的选择题,代码如下: ```go package main import

2023-05-26:golang关于垃圾回收和析构的选择题,代码如下: ```go package main import

作者头像
福大大架构师每日一题
发布2023-08-29 10:25:38
1350
发布2023-08-29 10:25:38
举报
文章被收录于专栏:福大大架构师每日一题

2023-05-26:golang关于垃圾回收和析构的选择题,代码如下:

代码语言:javascript
复制
package main

import (
    "fmt"
    "runtime"
    "time"
)

type ListNode struct {
    Val  int
    Next *ListNode
}

func main0() {
    a := &ListNode{Val: 1}
    b := &ListNode{Val: 2}
    runtime.SetFinalizer(a, func(obj *ListNode) {
        fmt.Printf("a被回收--")
    })
    runtime.SetFinalizer(b, func(obj *ListNode) {
        fmt.Printf("b被回收--")
    })
    a.Next = b
    b.Next = a
}

func main() {
    main0()
    time.Sleep(1 * time.Second)
    runtime.GC()
    time.Sleep(1 * time.Second)
    runtime.GC()
    time.Sleep(1 * time.Second)
    runtime.GC()
    time.Sleep(1 * time.Second)
    runtime.GC()
    time.Sleep(1 * time.Second)
    runtime.GC()
    fmt.Print("结束")
}

代码的运行结果是什么?并说明原因。注意析构是无序的。

A. 结束

B. a被回收--b被回收--结束

C. b被回收--a被回收--结束

D.B和C都有可能

明天给出答案和解析。这道题来自qq群。

以下是凑字数的,不要看。

给定一个正整数 x,我们将会写出一个形如 x (op1) x (op2) x (op3) x ... 的表达式

其中每个运算符 op1,op2,… 可以是加、减、乘、除之一

例如,对于 x = 3,我们可以写出表达式 3 * 3 / 3 + 3 - 3,该式的值为3

在写这样的表达式时,我们需要遵守下面的惯例:

除运算符(/)返回有理数

任何地方都没有括号

我们使用通常的操作顺序:乘法和除法发生在加法和减法之前

不允许使用一元否定运算符(-)。例如,“x - x” 是一个有效的表达

因为它只使用减法,但是 “-x + x” 不是,因为它使用了否定运算符

我们希望编写一个能使表达式等于给定的目标值 target 且运算符最少的表达式。

返回所用运算符的最少数量。

输入:x = 5, target = 501。

输出:8。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 福大大架构师每日一题 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

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