
👨💻 关于作者:会编程的土豆
"不是因为看见希望才坚持,而是坚持了才看见希望。"
你好,我是会编程的土豆,一名热爱后端技术的Java学习者。
📚 正在更新中的专栏:
-
《数据结构与算法》😊😊😊
-
《leetcode hot 100》🥰🥰🥰🤩🤩🤩
-
《数据库mysql》
💕作者简介:后端学习者
1.

Go
package main
import "fmt"
func main() {
var a, b int
fmt.Scan(&a, &b)
c := a * b
fmt.Println(c)
}
2.

Go
package main
import (
"fmt"
"unicode"
)
func main() {
var c rune // 使用 rune 类型
fmt.Scanf("%c", &c)
fmt.Printf("%c", unicode.ToUpper(c)) // 直接用标准库转换
}
常用函数
| 函数 | 作用 | 类似 C |
|---|---|---|
unicode.ToUpper(r) |
转大写 | toupper() |
unicode.ToLower(r) |
转小写 | tolower() |
unicode.IsUpper(r) |
判断是否大写 | isupper() |
unicode.IsLower(r) |
判断是否小写 | islower() |
unicode.IsDigit(r) |
判断是否数字 | isdigit() |
unicode.IsLetter(r) |
判断是否字母 | isalpha() |
3.

Go
package main
import "fmt"
func main() {
var s string
fmt.Scan(&s)
for i := len(s) - 1; i >= 0; i-- {
fmt.Printf("%c", s[i])
}
}
go里面没有reverse反转函数
4.

Go
package main
import "fmt"
func main() {
var t, m float64
var n, a int
fmt.Scanf("%f %d", &t, &n)
m = t / float64(n)
a = n * 2
fmt.Printf("%.3f\n%d", m, a)
}
go语言中类型不同的变量不能直接运算,c++里面int和浮点数可以直接计算的,但是go里面不行
go里面没有double float64就相当于c++的double,所以go也没有 %lf
5.

Go
package main
import (
"fmt"
"math"
)
func main() {
var a, b, c float64
fmt.Scanf("%f %f %f", &a, &b, &c)
p := (a + b + c) / 2
s := math.Sqrt(p * (p - a) * (p - b) * (p - c))
fmt.Printf("%.1f\n", s)
}
使用sqrt函数的时候要加上math.而且Sqrt的S要大写驼峰式,和C++不一样的是C++不需要math.
6.

Go
package main
import (
"fmt"
"math"
)
func main() {
const a1 = 24 * 60 // 一整天的分钟数
const a2 = 8 * 60 // 8:00 对应的分钟数
var s, v int
fmt.Scanf("%d %d", &s, &v)
// 计算路上花费的时间(分钟),向上取整
temp := int(math.Ceil(float64(s) / float64(v)))
temp += 10 // 加上垃圾分类的10分钟
var needTime int
if temp <= a2 {
// 当天 8:00 之前出发
needTime = a2 - temp
} else {
// 前一天出发
needTime = a1 + a2 - temp
}
hour := needTime / 60
minute := needTime % 60
fmt.Printf("%02d:%02d", hour, minute)
}
| C++ | Go | 说明 |
|---|---|---|
ceil((1.0*s)/v) |
math.Ceil(float64(s) / float64(v)) |
必须显式转换类型 |
ceil 返回 int |
math.Ceil 返回 float64 |
需要再转 int |
const int a1 = ... |
const a1 = 24 * 60 |
Go 自动推断类型 |
printf("%02d:%02d", ...) |
fmt.Printf("%02d:%02d", ...) |
格式符一样 |