Constants
常量
Constants are declared like variables, but with the const keyword.
常量像变量一样声明,但是用常量关键字const
Constants can be character, string, boolean, or numeric values.
常量可以是字节,字符串,布尔 或数字
package main
import "fmt"
const Pi = 3.14
func main() {
const World = "世界"
fmt.Println("Hello", World)
fmt.Println("Happy", Pi, "Day")
const Truth = true
fmt.Println("Go rules?", Truth)
}
输出:
Hello 世界
Happy 3.14 Day
Go rules? true
Numeric Constants
数值常量
Numeric constants are high-precision values.
数值常量是高精度值
An untyped constant takes the type needed by its context.
未定义类型常量根据上下文来确定类型
Try printing needInt(Big) too.
也可以试着输出printing needInt(Big)
package main
import "fmt"
const (
Big = 1<<100
Small = Big>>99
)
func needInt(x int) int { return x*10 + 1 }
func needFloat(x float64) float64 {
return x*0.1
}
func main() {
fmt.Println(needInt(Small))
fmt.Println(needFloat(Small))
fmt.Println(needFloat(Big))
}
输出:
21
0.2
1.2676506002282295e+29
fmt.Println(needInt(Big))
prog.go:19: constant 1267650600228229401496703205376 overflows int
For
Go has only one looping construct, the for loop.
Go只有一个循环管结构体就是for循环
The basic for loop looks as it does in C or Java, except that the ( ) are gone (they are not even optional) and the { } are required.
基本的for循环看起来和C或Java,除了()不见了,()是可选项,但是{}是必须的
package main
import "fmt"
func main() {
sum := 0
for i := 0; i < 10; i++ {
sum += i
}
fmt.Println(sum)
}
输出:
45
As in C or Java, you can leave the pre and post statements empty.
像C或Java,你可以设置前后都是空
package main
import "fmt"
func main() {
sum := 1
for ; sum < 1000; {
sum += sum
}
fmt.Println(sum)
}
输出:
1024
At that point you can drop the semicolons
如果是那样的话你可以去掉分号
package main
import "fmt"
func main() {
sum := 1
for sum < 1000 {
sum += sum
}
fmt.Println(sum)
}
If you omit the loop condition, it loops forever.
如果你省略了循环条件,死循环
package main
func main() {
for ; ; {
}
}
And with no clauses at all, the semicolons can be omitted, so an infinite loop is compactly expressed.
根本没有语句的话,分号省略,于是一个无限循环可以简洁的表示
package main
func main() {
for {
}
}
If
The if statement looks as it does in C or Java, except that the ( ) are gone (they are not even optional) and the { } are required.
If语句看起来和在C或Java中一样,除了不见了()
(Sound familiar?)
看起来很眼熟啊?哈哈
package main
import (
"fmt"
"math"
)
func sqrt(x float64) string {
if x < 0 {
return sqrt(-x) + "i"
}
return fmt.Sprint(math.Sqrt(x))
}
func main() {
fmt.Println(sqrt(2), sqrt(-4))
}
输出:
1.4142135623730951 2i
Like for, the if statement can start with a short statement to execute before the condition.
像for,if语句能在条件前执行段语句
Variables declared by the statement are only in scope until the end of the if.
语句的变量声明的范围直到if结束
package main
import (
"fmt"
"math"
)
func pow(x, n, lim float64) float64 {
if v := math.Pow(x, n); v < lim {
return v
}
return lim
}
func main() {
fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20),
)
}
输出:
9 20
Variables declared inside an if's short statement are also available inside any of the else blocks.
在if's里的变量声明在else块里也可用
package main
import (
"fmt"
"math"
)
func pow(x, n, lim float64) float64 {
if v := math.Pow(x, n); v < lim {
return v
} else {
fmt.Printf("%g >= %g\n", v, lim)
}
// can't use v here, though
return lim
}
func main() {
fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20),
)
}
输出:
27 >= 20
9 20
分享到:
相关推荐
A Tour of C++ (2nd Edition) (C++ In-Depth Series) By 作者: Bjarne Stroustrup ISBN-10 书号: 0134997832 ISBN-13 书号: 9780134997834 Edition 版本: 2 出版日期: 2018-07-09 pages 页数: 815 In A Tour of ...
《计算机科学丛书:C++语言导学》作者是C++语言的设计者和最初实现者,写作本书的目的是让有经验的程序员快速了解C++现代语言。书中几乎介绍了C++语言的全部核心功能和重要的标准库组件,以很短的篇幅将C++语言的...
A Tour of Go是官方提供的一个关于go语言短小精悍的教程,覆盖了包、变量、函数、数据类型等基础知识,也包括了方法、接口、并发编程等高级内容,读完并通过其中的练习题,短时间即可入门GO了。 该教程是一个WEB服务...
In A Tour of C++, Second Edition, Bjarne Stroustrup, the creator of C++, describes what constitutes modern C++. This concise, self-contained guide covers most major language features and the major ...
A Tour of C++ 2nd ,c++学习资料
A Tour of C++ 一本不错的学习C++的书
[mirror] A Tour of Go
Abstract—Deep learning is a branch of artificial intelligence employing deep neural network architectures that has significantly advanced the state-of-the-art in computer vision, speech recognition, ...
高清非扫描版,带书签。Bjarne Stroustrup。。。。。。
Bjarne Stroustrup A Tour of C++
如果你懂一些编程知识,比如学过C,Java等语言开发工具,或者你是一位具有工程背景的研究者或者工作者,那么这本书将会快速带你走进python世界,这是初学python者最佳学习资料,本附件是书中的练习题等源代码。...
A Guided Tour Of Mathematical Physics By Roel Snieder
英文三版。 Mallet 的小波分析经典教程。全书13章800多页,非常详尽的介绍了小波分析原理和应用。很经典的教程。
对于想快速了解和使用python的人,这是一本非常好的入门书,与《python数据科学手册》为姊妹篇。
《计算机科学丛书:C++语言导学》作者是C++语言的设计者和最初实现者,写作本书的目的是让有经验的程序员快速了解C++现代语言。书中几乎介绍了C++语言的全部核心功能和重要的标准库组件,以很短的篇幅将C++语言的...
Stroustrup presents the C++ features in the context ... The tour covers some extensions being made for C++20, such as concepts and modules, and ends with a discussion of the design and evolution of C++.
Mallat的《信号处理的小波导引》的第三版 经典程度不用多说 PDF版本