关于【饥荒地图全开代码】,饥荒联机版地图全开代码,今天犇涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
内容导航:1、ch12、字符串(string)与字符编码2、饥荒地图全开代码:饥荒联机版地图全开代码1、ch12、字符串(string)与字符编码
1、字符串
与其它编程语言的差异:
string是数据类型,不是引用或指针类型string是只读的byte slice(不可变类型),len计算的是包含所有byte数string的byte数组可以存放任何数据package stringimport "testing"func TestString(t *testing.T) {var s stringt.Log(s) // 初始化为默认零值""s = "hello"t.Log(len(s))//s[1] = 3// string是不可变的byte slices = "\xE4\xB8\xA5"t.Log(s)t.Log(len(s)) // 3}
2、字符编码:Unicode VS. UTF-8
Unicode 是一种编码符号表示集(code point)
UTF8 是 unicode 的存储实现 (转换为字节序列的规则)方式之一
注意: Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。(是按照两个字节还是三个字节or四个字节存储?)
package stringimport "testing"func TestString(t *testing.T) {var s strings = "中"t.Log(len(s))c := []rune(s)t.Logf("中 unicode:%x", c[0]) // 中 unicode:4e2dt.Logf("中 utf-8: %x", s) // 中 utf-8: e4b8ad}
对应的表示法:
字符
‘中’
Unicode
0x4E2D
UTF8
0xE4B8AD
String/[]byte
[0xE4,0xB8,0xAD]
可参考资料:
字符编码笔记:ASCII,Unicode 和 UTF-8:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html?from=timeline
Unicode官方符号对应表:https://home.unicode.org/
Unicode汉字对应表:http://www.chi2ko.com/tool/CJK.htm
在UTF-8中一个汉字占3个字节package mainimport "fmt"func main() {str1 := "lnj"fmt.Println(len(str1)) // 3str2 := "公号:代码情缘"fmt.Println(len(str2)) // 21}
3、常用字符串函数
strings包:https://pkg.go.dev/strings
strconv包:https://pkg.go.dev/strconv
package string_fnimport ("strconv""strings""testing")func TestStringFn(t *testing.T) {s := "A,B,C"parts := strings.Split(s, ",")t.Log(parts)for _, part := range parts {t.Log(part)}}func TestIntConv(t *testing.T) {s := strconv.Itoa(10)t.Log("str" + s)if i, err := strconv.Atoi("10"); err == nil { //字符串转换为整型时,需要进行校验是否转换成功t.Log(10 + i)}}
4、字符串相关方法
如果字符串中包含中文, 又想精确的计算字符串中字符的个数而不是占用的字节, 那么必须先将字符串转换为rune类型数组
Go语言中byte用于保存字符, rune用于保存汉字package mainimport "fmt"func main() {str := "测试:代码之旅"// 注意byte占1个字节, 只能保存字符不能保存汉字,因为一个汉字占用3个字节arr1 := []byte(str) // 21fmt.Println(len(arr1))for _, v := range arr1 {fmt.Printf("%c", v) // å¬å·ï¼šä»£ç æƒç¼˜}fmt.Println()// Go语言中rune类型就是专门用于保存汉字的arr2 := []rune(str)fmt.Println(len(arr2)) // 7for _, v := range arr2 {fmt.Printf("%c", v) // 测试:代码之旅}}
查找子串在字符串中出现的位置
func Index(s, sep string) intfunc IndexByte(s string, c byte) intfunc IndexRune(s string, r rune) intfunc IndexAny(s, chars string) intfunc IndexFunc(s string, f func(rune) bool) intfunc LastIndex(s, sep string) intfunc LastIndexByte(s string, c byte) intfunc LastIndexAny(s, chars string) intfunc LastIndexFunc(s string, f func(rune) bool) intpackage mainimport ("fmt""strings")func main() {// 查找`字符`在字符串中第一次出现的位置, 找不到返回-1res := strings.IndexByte("hello 李南江", 'l')fmt.Println(res) // 2// 查找`汉字`OR`字符`在字符串中第一次出现的位置, 找不到返回-1res = strings.IndexRune("hello 李南江", '李')fmt.Println(res) // 6res = strings.IndexRune("hello 李南江", 'l')fmt.Println(res) // 2// 查找`汉字`OR`字符`中任意一个在字符串中第一次出现的位置, 找不到返回-1res = strings.IndexAny("hello 李南江", "wml")fmt.Println(res) // 2// 会把wmhl拆开逐个查找, w、m、h、l只要任意一个被找到, 立刻停止查找res = strings.IndexAny("hello 李南江", "wmhl")fmt.Println(res) // 0// 查找`子串`在字符串第一次出现的位置, 找不到返回-1res = strings.Index("hello 李南江", "llo")fmt.Println(res) // 2// 会把lle当做一个整体去查找, 而不是拆开res = strings.Index("hello 李南江", "lle")fmt.Println(res) // -1// 可以查找字符也可以查找汉字res = strings.Index("hello 李南江", "李")fmt.Println(res) // 6// 会将字符串先转换为[]rune, 然后遍历rune切片逐个取出传给自定义函数// 只要函数返回true,代表符合我们的需求, 既立即停止查找res = strings.IndexFunc("hello 李南江", custom)fmt.Println(res) // 4// 倒序查找`子串`在字符串第一次出现的位置, 找不到返回-1res = strings.LastIndex("hello 李南江", "l")fmt.Println(res) // 3}func custom(r rune) bool {fmt.Printf("被调用了, 当前传入的是%c\n", r)if r == 'o' {return true}return false}
判断字符串中是否包含子串
func Contains(s, substr string) boolfunc ContainsRune(s string, r rune) boolfunc ContainsAny(s, chars string) boolfunc HasPrefix(s, prefix string) boolfunc HasSuffix(s, suffix string) boolpackage mainimport ("fmt""strings")func main() {// 查找`子串`在字符串中是否存在, 存在返回true, 不存在返回false// 底层实现就是调用strings.Index函数res := strings.Contains("hello 代码情缘", "llo")fmt.Println(res) // true// 查找`汉字`OR`字符`在字符串中是否存在, 存在返回true, 不存在返回false// 底层实现就是调用strings.IndexRune函数res = strings.ContainsRune("hello 代码情缘", 'l')fmt.Println(res) // trueres = strings.ContainsRune("hello 代码情缘", '李')fmt.Println(res) // false// 查找`汉字`OR`字符`中任意一个在字符串中是否存在, 存在返回true, 不存在返回false// 底层实现就是调用strings.IndexAny函数res = strings.ContainsAny("hello 代码情缘", "wmhl")fmt.Println(res) // true// 判断字符串是否已某个字符串开头res = strings.HasPrefix("lnj-book.avi", "lnj")fmt.Println(res) // true// 判断字符串是否已某个字符串结尾res = strings.HasSuffix("lnj-book.avi", ".avi")fmt.Println(res) // true}
字符串比较
func Compare(a, b string) intfunc EqualFold(s, t string) boolpackage mainimport ("fmt""strings")func main() {// 比较两个字符串大小, 会逐个字符地进行比较ASCII值// 第一个参数 > 第二个参数 返回 1// 第一个参数 < 第二个参数 返回 -1// 第一个参数 == 第二个参数 返回 0res := strings.Compare("bcd", "abc")fmt.Println(res) // 1res = strings.Compare("bcd", "bdc")fmt.Println(res) // -1res = strings.Compare("bcd", "bcd")fmt.Println(res) // 0// 判断两个字符串是否相等, 可以判断字符和中文// 判断时会忽略大小写进行判断res2 := strings.EqualFold("abc", "def")fmt.Println(res2) // falseres2 = strings.EqualFold("abc", "abc")fmt.Println(res2) // trueres2 = strings.EqualFold("abc", "ABC")fmt.Println(res2) // trueres2 = strings.EqualFold("代码情缘", "代码情缘")fmt.Println(res2) // true}
字符串转换
func ToUpper(s string) stringfunc ToLower(s string) stringfunc ToTitle(s string) stringfunc ToUpperSpecial(_case unicode.SpecialCase, s string) stringfunc ToLowerSpecial(_case unicode.SpecialCase, s string) stringfunc ToTitleSpecial(_case unicode.SpecialCase, s string) stringfunc Title(s string) stringpackage mainimport ("fmt""strings")func main() {// 将字符串转换为小写res := strings.ToLower("ABC")fmt.Println(res) // abc// 将字符串转换为大写res = strings.ToUpper("abc")fmt.Println(res) // ABC// 将字符串转换为标题格式, 大部分`字符`标题格式就是大写res = strings.ToTitle("hello world")fmt.Println(res) // HELLO WORLDres = strings.ToTitle("HELLO WORLD")fmt.Println(res) // HELLO WORLD// 将单词首字母变为大写, 其它字符不变// 单词之间用空格OR特殊字符隔开res = strings.Title("hello world")fmt.Println(res) // Hello World}
字符串拆合
func Split(s, sep string) []stringfunc SplitN(s, sep string, n int) []stringfunc SplitAfter(s, sep string) []stringfunc SplitAfterN(s, sep string, n int) []stringfunc Fields(s string) []stringfunc FieldsFunc(s string, f func(rune) bool) []stringfunc Join(a []string, sep string) stringfunc Repeat(s string, count int) stringfunc Replace(s, old, new string, n int) stringpackage mainimport ("fmt""strings")func main() {// 按照指定字符串切割原字符串// 用,切割字符串arr1 := strings.Split("a,b,c", ",")fmt.Println(arr1, " ", len(arr1)) // [a b c] 3arr2 := strings.Split("ambmc", "m")fmt.Println(arr2, " ", len(arr2)) // [a b c] 3// 按照指定字符串切割原字符串, 并且指定切割为几份// 如果最后一个参数为0, 那么会范围一个空数组arr3 := strings.SplitN("a,b,c", ",", 2)fmt.Println(arr3, " ", len(arr3)) // [a b,c] 2arr31 := strings.SplitN("a,b,c", ",", 1)fmt.Println(arr31, " ", len(arr31)) // [a,b,c] 1arr4 := strings.SplitN("a,b,c", ",", 0)fmt.Println(arr4, " ", len(arr4)) // [] 0// 按照指定字符串切割原字符串, 切割时包含指定字符串arr5 := strings.SplitAfter("a,b,c", ",")fmt.Println(arr5, " ", len(arr5)) // [a, b, c] 3// 按照指定字符串切割原字符串, 切割时包含指定字符串, 并且指定切割为几份arr6 := strings.SplitAfterN("a,b,c", ",", 2)fmt.Println(arr6, " ", len(arr6)) // [a, b,c] 2// 按照空格切割字符串, 多个空格会合并为一个空格处理arr7 := strings.Fields("a b c d")fmt.Println(arr7) // [a b c d]// 将字符串转换成切片传递给函数之后由函数决定如何切割// 类似于IndexFuncarr8 := strings.FieldsFunc("a,b,c", custom)fmt.Println(arr8) // [a b c]// 将字符串切片按照指定连接符号转换为字符串sce := []string{"aa", "bb", "cc"}fmt.Println(sce)str1 := strings.Join(sce, "-")fmt.Println(str1) // aa-bb-cc// 返回count个s串联的指定字符串str2 := strings.Repeat("abc", 2)fmt.Println(str2) // abcabc// 第一个参数: 需要替换的字符串// 第二个参数: 旧字符串// 第三个参数: 新字符串// 第四个参数: 用新字符串 替换 多少个旧字符串// 注意点: 传入-1代表只要有旧字符串就替换// 注意点: 替换之后会生成新字符串, 原字符串不会受到影响str3 := "abcdefabcdefabc"str4 := strings.Replace(str3, "abc", "mmm", -1)fmt.Println(str3) // abcdefabcdefabcfmt.Println(str4) // mmmdefmmmdefmmm}func custom(r rune) bool {fmt.Printf("被调用了, 当前传入的是%c\n", r)if r == ',' {return true}return false}
字符串清理
func Trim(s string, cutset string) stringfunc TrimLeft(s string, cutset string) stringfunc TrimRight(s string, cutset string) stringfunc TrimFunc(s string, f func(rune) bool) stringfunc TrimLeftFunc(s string, f func(rune) bool) stringfunc TrimRightFunc(s string, f func(rune) bool) stringfunc TrimSpace(s string) stringfunc TrimPrefix(s, prefix string) stringfunc TrimSuffix(s, suffix string) stringpackage mainimport ("fmt""strings")func main() {// 去除字符串两端指定字符str1 := strings.Trim("!!!abc!!!def!!!", "!")fmt.Println(str1) // abc!!!def// 去除字符串左端指定字符str2 := strings.TrimLeft("!!!abc!!!def!!!", "!")fmt.Println(str2) // abc!!!def!!!// 去除字符串右端指定字符str3 := strings.TrimRight("!!!abc!!!def!!!", "!")fmt.Println(str3) // !!!abc!!!def// // 去除字符串两端空格str4 := strings.TrimSpace(" abc!!!def ")fmt.Println(str4) // abc!!!def// 按照方法定义规则,去除字符串两端符合规则内容str5 := strings.TrimFunc("!!!abc!!!def!!!", custom)fmt.Println(str5) // abc!!!def// 按照方法定义规则,去除字符串左端符合规则内容str6 := strings.TrimLeftFunc("!!!abc!!!def!!!", custom)fmt.Println(str6) // abc!!!def!!!// 按照方法定义规则,去除字符串右端符合规则内容str7 := strings.TrimRightFunc("!!!abc!!!def!!!", custom)fmt.Println(str7) // !!!abc!!!def// 取出字符串开头的指定字符串str8 := strings.TrimPrefix("lnj-book.avi", "lnj-")fmt.Println(str8) // book.avi// 取出字符串结尾的指定字符串str9 := strings.TrimSuffix("lnj-book.avi", ".avi")fmt.Println(str9) // lnj-book}func custom(r rune) bool {fmt.Printf("被调用了, 当前传入的是%c\n", r)if r == '!' {return true}return false}
2、饥荒地图全开代码:饥荒联机版地图全开代码
游戏介绍:《饥荒口袋版》是一款冒险类手机游戏,里面有着非常好玩有趣的故事,不过能不能玩转就看你了,玩家必须探索这个陌生的世界,了解其中的居民,找到回家的路。不过你得懂一些求生技能,做好心理准备,开始游戏吧。
饥荒联机版代码。
1.c_give(“XX”,数量)——直接放包里。
2.c_spawn(“XX”,数量)——放鼠标指针指示的地上。
XX填饥荒中的生物/物品等的英文名称。
3.DebugSpawn“XXX”,数量——放在地上。
4.其他指令:
全物品直接制造:GetPlayer().components.builder:GiveAllRecipes()。
饥饿值不降低:GetPlayer().components.hungerause(true)。
精神值不降低(慎用不可取消):GetPlayer().components.sanity:SetMax(500)。
最大血格:GetPlayer().components.health:SetMaxHealth(300)。
上帝模式:GetPlayer().components.health:SetInvincible(true)。
5.下面是开全地图,要输入2个指令才行,每次都要回车执行:
minimap = TheSim:FindFirstEntityWithTag("minimap")。
minimap.MiniMap:ShowArea(0,0,0, 10000)。
6.设置生命:c_sethealth(百分数)。
7.设置精神:c_setsanity(百分数)。
8.设置饥饿:c_sethunger(百分数)。
9.传送:c_gonext(“***”)。
10.设置速度:c_speed(数值)。
11.上帝模式:c_godmode()。
12.变成海狸(吴迪专用):GetPlayer().components.beaverness:SetPercent(1)。
13.删除:TheInput:GetWorldEntityUnderMouse():Remove()。
14.地图全开:GetWorld().minimap.MiniMap:ShowArea(0,0,0,10000)。
15.跳过一天:GetClock():MakeNextDay()/c_skipdays(数值)。
16.跳过几天:for x = 1, 值 do GetClock():MakeNextDay() end。
17.跳过一段时间:LongUpdate(值)时钟每格30个单位,一整天是480个单位。
18.设置时间段:GetClock():SetSegs(白天,黄昏,夜晚)时钟一共有16个格,白天黄昏夜晚加在一起必须为16。
19.跳过时间段:GetClock():NextPhase()白天跳到黄昏。
20.开始春天(DLC1):GetSeasonManager():StartSpring()。
21.开始夏天:GetSeasonManager():StartSummer()。
22.开始秋天(DLC1):GetSeasonManager():StartAutumn()。
23.开始冬天:GetSeasonManager():StartWinter()。
24.开始下雨:GetSeasonManager():StartPrecip()。
25.停止下雨:GetSeasonManager():StopPrecip()。
26.生成闪电:GetSeasonManager():DoLightningStrike(Vector3(GetPlayer().Transform:GetWorldPosition()))。
27.测量距离:print(math.sqrt(GetPlayer():GetDistanceSqToInst(TheInput:GetWorldEntityUnderMouse())))。
28.解锁角色:GetPlayer().profile:UnlockCharacter("角色名称")或GetPlayer().profile:Save()。
29.可以解锁多个角色:GetPlayer().profile:UnlockCharacter("willow")。
GetPlayer().profile:UnlockCharacter("wickerbottom")。
GetPlayer().profile:Save()。
30.全部解锁:GetPlayer().profile:UnlockEverything()。
31.清除死亡记录:ErasePersistentString("morgue")。
饥荒联机版地图全开代码。
按“~”键(数字1的左侧)开启控制台。地图全开代码,要输入2个指令才行,每次都要回车执行,直接复制粘贴到游戏中即可。
minimap = TheSim:FindFirstEntityWithTag("minimap")minimap.MiniMap:ShowArea(0,0,0, 10000)。
饥荒联机版代码怎么用。
在进入游戏之后按“~”键便可调出控制台”。
输入c_give("代码",数量)——物品会按所输数量出现在物品栏,假若包裹放不下,会自动掉落在地上。c_spawn(“代码”,数量)——放鼠标指针指示的地上,这样就可以了使用代码了。
本文关键词:饥荒联机版地图全开代码输入以后按住ctrl,饥荒联机版地图全开代码怎么没用,饥荒联机版地图全开代码,饥荒联机版地图全开代码大全,饥荒联机版地图全开代码视频。这就是关于《饥荒地图全开代码,饥荒联机版地图全开代码(与字符编码)》的所有内容,希望对您能有所帮助!