`

Go语言旅行二 A Tour of Go

    博客分类:
  • Go
go 
阅读更多
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-go:“ A Go of Go”网站的练习https

    “一次旅行,A Go of Go网站的练习”,这个标题揭示了我们即将踏上一段深入理解Go语言的旅程。Go,也被称为Golang,是由Google开发的一种静态类型的、编译型的、并发型且具有垃圾回收功能的编程语言。它的设计目标是...

    2013年九年级英语下册 Module 1 Travel单元精品教案 外研版

    2. **短语**:be full of, departure lounge, because of, take the boat, go sightseeing, by coach, go for a long walk, plenty of, in front of, at the start of, as soon as, look out of, get off等。...

    a-tour-of-standard-ml:标准ML之旅(采用Go Tour风格)

    标准ML是具有正式规范的功能性编程语言。 它具有静态类型以防止各种各样的常见错误,而且还具有强大的类型推断功能,几乎不需要类型声明。 由于原因,很容易定义新的数据类型和结构,并且由于其强大的模块系统和 ,...

    旧版上海牛津英语7B知识点梳理.doc

    6. **方位表达** - 学习用 "in the south of", "in the north of", "in the west of", 和 "in the east of" 描述地理位置,例如:“A is in the south of B”表明A位于B的范围内,如果两者相邻则用 "on the south of...

    新概念英语第二册第14课PPT课件.pptx

    5. **Language**:这个名词指的是“语言”,可以提及“native language”或“mother tongue”指母语,“a second/foreign language”指第二语言或外语,“the English language”等同于“English”。对于学习者来说...

    新概念英语第二册Lesson50PPT课件.pptx

    新概念英语第二册Lesson50PPT课件.pptx 本资源主要围绕英语学习的知识点展开,涵盖了新概念英语第二册Lesson50的课程内容。下面是从文件中提取的相关知识点: 一、新概念英语新词和表达 * excursion:远足、游玩...

    湖南省常德市第九中学九年级英语全册《Unit 7 section B 1-2c》导学案(无答案) 人教新目标版

    此外,重点句型包括"I hope to go on a nature tour."(我希望去一次自然之旅)以及"I don’t want to go anywhere cold."(我不想去任何寒冷的地方)。这些知识不仅涵盖了基本的词汇运用,还涉及了不同类型的旅行...

    新概念英语第二册Lesson501PPT课件.pptx

    这篇PPT课件是关于《新概念英语》第二册第501课的内容,主要讲解了一些新的词汇和表达,以及相关的语言点。 首先,我们来看一些新词和短语: 1. **excursion**:这个词是指一次短暂的远足或游玩活动,通常距离不远...

    山东省淄博市高青县八年级英语下册Unit3Wherewouldyouliketovisit知识清单素材鲁教版五四制2018073

    8. **The person has a lot of money to spend on the vacation.** 描述了有足够的预算进行奢侈的旅行。 9. **I hope you can provide me with some information about the kinds of vacations that your firm can ...

    中国石油大学(北京)英语(四)在线作业第二次.pdf

    本资源为中国石油大学(北京)英语(四)在线作业第二次的答题指南,涵盖了10个题目,涵盖了英语基本对话、旅行计划、银行开户、剧院邀请、强调句型等多个方面的知识点。 第 1 题 – Where are you traveling to ...

    新冀教版七年级英语下册1-8单元考试题.doc

    9. `go on a trip`:去旅行。 10. `for example`:例如,用于举例。 11. `in a hurry`:匆忙地。 12. `surf the Internet`:上网冲浪。 这些知识点是七年级学生需要掌握的基础英语表达,涵盖了日常生活、学习、旅游...

    上海牛津七下词组总结上海牛津7B词组归纳.doc

    1. 旅行相关词汇:如“到国外旅游”(travel abroad)、“旅行社”(travel agency)和“去旅行”(go traveling),以及“旅行”(tour)、“游客”(tourist)和“旅游业”(tourism)等,帮助学生掌握与旅行相关的表达方式。...

    福建省莆田市2019届高三英语上学期第一次月考试题.doc

    Grammar, Reading and speaking)、旅行计划(如旅行伙伴的选择,如Her friends, Her parents, A tour group,目的地特色,如Its beaches, Its food, Its volcanoes)以及奇异经历的讨论(如狗能送信,Jason’s dog...

    七下Module 6 Around town测试题及答案含听力精选.doc

    Let's go for a bike trip." 鼓励学生享受户外活动,如骑自行车旅行,同时锻炼语言运用能力。 4. **城市印象和评价**: - "It's beautiful. The food is delicious and the people are friendly." 学生需要学会...

    新概念英语第一册123-124课件PPT课件.pptx

    1. “journey”通常指长距离的陆路旅行,如“Go on a tour to Australia”。 2. “travel”作为动词,意味着进行旅行,如“travel around the world”表示周游世界,而“travel to+地点”表示到某地旅行。 3. “trip...

    人教版高中英语知识点总结.pdf

    - **tour**:巡回旅行。指按计划访问多个地方的旅行。 - **prefer A to B**:更喜欢A而不是B。用来表达偏好选择。 在文档中还存在一些错误和遗漏,比如“atdusk”应该是“at dusk”;“thatis”应该是“that is”;...

    高三英语写作训练投诉信红PPT课件.pptx

    - `a professional tour guide`:一个专业的导游 - `famous tourist attractions/places of interest`:著名景点 - `customer satisfaction`:客户满意度 - `faulty items/products`:故障产品 - `get ...

    新概念英语2第50课课件PPT课件.pptx

    首先,课件介绍了多个与旅行相关的单词,例如“ride”(骑,旅行)、“trip”(短途旅行)、“travel”(周游世界性的旅行)、“journey”(陆地旅行)、“flight”(空中旅行)、“tour”(游玩)、“sightseeing”...

    人教高中一年级英语单元教学目标及教学要求内容.doc

    - `go on a tour to…`(去...旅行) - `be attractively packaged`(包装精美) - `be harmful to`(对...有害) - `reduce the pollution of the environment`(减少环境污染) - `a large amount of money`...

Global site tag (gtag.js) - Google Analytics