Hello Golangers! Is there anyone who can test the reliability of the following Golang slice feature? I am using an AMG64 computer with Windows 10, and Go version 0.36.0. When I use the following code, to detect and then replace a character at any given length *n* (9) in a string with an Uppercase Character. Strangely and somehow, the slice pointer will move to another position even though the code is not dynamic and has not changed. Is there anyone who can trouble shoot this code for me?
Please remember that this is "*test*" code only, so some of it will not make any sense or work. It is only "proof of concept" code. The code to pay attention to is the following - from lines: 80 - 92! Many thanks for any help you can give! Mucas Example code: package main import( //"unicode/utf8" "math/rand" "strconv" "strings" "fmt" "time" "os" ) var alphanumerics = [62] string { "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z", "0","1","2","3","4","5","6","7","8","9", "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z", } func main(){ var ( txtflpth string = "C:\\Workspace\\Transaction Hash.txt" flNm string = "Transaction Hash.txt" CRLF string = "\n" cntstrt string AuthKey string NwStr string cstart int cntr int flEx *os.FileInfo flEx2 *os.File trfl *os.File err error ) fmt.Print("State where the hash counter should begin:>> ") fmt.Scanln(&cntstrt) if cntstrt == "" || cntstrt == " " { trfl, err = os.Create(flNm) if err != nil { panic(err); os.Exit(-1) } defer trfl.Close() } else { var flEx, err = os.Stat(txtflpth) fmt.Println(flEx.Mode().String) //fmt.Println(flEx.IsRegular()) fmt.Println(flEx.IsDir()) fmt.Println(flEx.Name()) fmt.Println(flEx.Size()) fmt.Println(flEx.Sys()) if err != nil { if os.IsNotExist(err) { panic(err) } } cstart, err = strconv.Atoi(cntstrt) flEx2, err := os.Open(txtflpth) defer flEx2.Close() } /*defer func( if err == trfl.Close() || err == os.IsNotExist(err)!= err { panic(err) } if err == flEx.Close() || err == os.IsNotExist(err)!= err { panic(err) } )*/ if cntstrt != "" && cntstrt != " " { cntr = cstart } for cntr = cstart; cntr < cstart + 1000; cntr++ { NwStr = "" AuthKey = NwStr for i := 0; i <= 65; i++ { time.Sleep(10 * time.Nanosecond) rand.Seed(time.Now().UnixNano()) AuthKey = AuthKey + alphanumerics[rand.Intn(62)] //, [A - Z], [0-9]) } var hashRemap = [...] string {"A","U","G","D","E","X"} AuthKey = "0x" + AuthKey fmt.Println("Transaction Hash: " + strconv.Itoa(cntr) + ") " + AuthKey) //AuthKey2 := []rune(AuthKey) StrPos := strings.Index(AuthKey, AuthKey[9:10]) fmt.Printf("The old character %s is at string position: (%d) " + CRLF,AuthKey[9:10], StrPos) //os.Exit(1) for i := 0; i < 6; i++ { switch i { case 0: AuthKey = strings.Replace(AuthKey,AuthKey[9:10], hashRemap[0], 1); fmt.Println("Replaced! The New Transaction Hash: " + "(" + strconv.Itoa(i) + ") " + AuthKey); os.Exit(1); case 1: AuthKey = strings.Replace(AuthKey,"", hashRemap[1], 1) case 2: AuthKey = strings.Replace(AuthKey,"", hashRemap[3], 1) case 3: AuthKey = strings.Replace(AuthKey,"", hashRemap[4], 1) case 4: AuthKey = strings.Replace(AuthKey,"", hashRemap[5], 1) case 5: AuthKey = strings.Replace(AuthKey,"", hashRemap[5], 1) } } fmt.Println("Transaction Hash: " + strconv.Itoa(cntr) + ") " + AuthKey) if trfl != nil { trfl.WriteString("Transaction Hash: " + strconv.Itoa(cntr) + ") " + AuthKey + CRLF) } if flEx != nil { flEx2.WriteString("Transaction Hash: " + strconv.Itoa(cntr) + ") " + AuthKey + CRLF) } -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/f27c55aa-836a-453e-a013-a7b752de273bn%40googlegroups.com.