高朗中各种打印和格式化示例

Printf方法接受格式化的字符串,该字符串中的诸如“%s”和“%d”之类的代码表示值的插入点。这些值然后作为参数传递。
package main

import (
	"fmt"		
)

var(
	a = 654
	b = false
	c   = 2.651
	d  = 4 + 1i
	e   = "澳大利亚"
	f = 15.2 * 4525.321
)

func main(){	
	fmt.Printf("d for Integer: %d\n", a)
	fmt.Printf("6d for Integer: %6d\n", a)
	
	fmt.Printf("t for Boolean: %t\n", b)
	fmt.Printf("g for Float: %g\n", c)
	fmt.Printf("e for Scientific Notation: %e\n", d)
	fmt.Printf("E for Scientific Notation: %E\n", d)
	fmt.Printf("s for String: %s\n", e)
	fmt.Printf("G for Complex: %G\n", f)
	
	fmt.Printf("15s字串: %15s\n", e)
	fmt.Printf("-10s String: %-10s\n",e)
	
	t:= fmt.Sprintf("Print from right: %[3]d %[2]d %[1]d\n", 11, 22, 33)
	fmt.Println(t)	
}
C:\golang\codes>go run example7.go
d for Integer: 654
6d(整数):654
t for Boolean: false
g for Float: 2.651
科学表示法的e:(4.000000e + 00 + 1.000000e + 00i)
科学表示法的E:(4.000000E + 00 + 1.000000E + 00i)
s代表String:澳大利亚
综合楼的G:68784.8792
15s String:     Australia
-10秒弦:澳大利亚
从右边打印:33 22 11


C:\golang\codes>

您必须阅读的解决方案

Go编程语言中的Sierpinski三角形

示例:IO包中的ReadAll,ReadDir和ReadFile

ReadAll从r读取直到出现错误或EOF,然后返回读取的数据。成功调用将返回err == nil,而不是err == EOF。 ReadDir读取以目录名命名的目录,并返回按文件名排序的目录条目列表。 ReadFile读取以文件名命名的文件并返回内容。成功调用将返回err == nil,而不是err == EOF。 *****创建一个文本文件input.txt,然后将要读取的内容写到将在程序下面运行的同一目录中*****

用于实现Radix Sort的Golang程序

基数排序是一种聪明而直观的小排序算法。 “基数排序”通过比较数字的数字将元素排序。基数排序是一种整数排序算法,该算法通过按共享相同有效位和值(位置值)的单个数字对键进行分组来对具有整数键的数据进行排序。基数排序使用计数排序作为子例程对数字数组进行排序。

Golang中检查点同步的图示

检查点同步是同步多个任务的问题。考虑一个研讨会,其中几个工人组装某种机制的细节。当他们每个人完成工作时,他们将细节放在一起。没有商店,因此首先完成工作的工人必须等待其他人才能开始另一工作。将细节放到一起是检查点,在此之前,任务会在分离其路径之前进行自我同步。

用于实施LIFO堆栈和FIFO队列的Golang程序

堆栈是一个有序列表,其中所有插入和删除都在一端(称为顶端)进行。队列是一个有序列表,其中所有插入均发生在一端,即后端,而所有删除发生在另一端,即前端。堆栈有时称为后进先出(LIFO)列表,并且已知队列作为先进先出(FIFO)列表。

将字符串切片逐行写入文本文件

bufio软件包提供了高效的缓冲Writer,该Writer将字节排队直到达到阈值,然后使用最少的资源完成对文件的写操作。以下源代码片段显示了如何将字符串切片逐行写入纯文本文件。

用于实现随机迷宫生成器的Golang程序

迷宫可以通过以预定的单元排列开始,在它们之间具有壁位置来产生。该预定布置可以被认为是连通图,其中边缘表示可能的壁位置,而节点表示单元。迷宫生成算法的目的可以被认为是制作一个子图,其中很难找到两个特定节点之间的路由。

Golang程序以菱形图案打印数字

高朗的餐饮哲学家问题插图

五个沉默的哲学家坐在圆桌旁,上面放着意大利面条。将叉子放置在每对相邻的哲学家之间。每个哲学家都必须交替思考和吃东西。但是,哲学家只有在拥有左右叉的情况下才能吃意大利面。每个分叉只能由一个哲学家握住,因此,只有当另一个哲学家不使用它时,哲学家才可以使用它。哲学家完成用餐后,需要放下两个叉子,以便其他人可以使用。哲学家可以将叉子放在他们的右边,也可以在左边的叉子上,但是在拿到两个叉子之前不能开始进食。饮食不受意粉或胃部空间的剩余限制;假设供应无限,需求无限。问题是如何设计行为准则(并发算法),使任何哲学家都不会饿死。也就是说,假设没有哲学家知道别人何时可能想要吃饭或思考,每个人都可以永远在饮食和思考之间继续交替。

Golang的抽烟问题的插图

假设一支香烟需要制造和抽烟的三种成分:烟草,纸和火柴。桌子周围有三位烟民,每位烟民都无限量供应三种成分中的一种-一位烟民无限量供应烟草,另一位烟民有纸,第三位烟民有火柴。第四方无限制地供应所有东西,它随机选择一名吸烟者,并将桌上所需的香烟摆在桌上。选定的吸烟者吸烟,该过程应无限期重复。