go字面量常量
鉴于一些人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
题图:Go1.18 发布,一个重大的版本
刊首语
上期题目是关于取模运算符的。
以下代码输出什么?
package main
import "fmt"
func main() {
fmt.Println(1 % 2.0)
fmt.Println(int(1) % 2.0)
}
A:1 1;B:1.0 1.0;C:编译不通过;D:1.0 1
正确答案 C,该题正确率 60%,还不错。这里有一点:% 运算只能用于 整数类型。1 % 2.0,两个操作数都是字面量常量,都是无类型的,这时会以 2.0 的 untype float constant 为准,1 隐式转为 untype float constant,所以编译错误。
而 int(1) % 2.0 中,2.0 是无类型的,int(1) 是 int,因此 2.0 会转为 int,因此能正常编译。
本期题目:以下代码输出什么?
func main() {
var m sync.Mutex
fmt.Print("A, ")
m.Lock()
go func() {
time.Sleep(200 * time.Millisecond)
m.Unlock()
}()
m.Lock()
fmt.Print("B ")
}
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
2018-03-21 ELK 之三:Kibana 使用与Tomcat、Nginx 日志格式处理
2018-03-21 ELK 日志分析实例