Junior — Middle
რა მნიშვნელობას აბრუნებს len ფუნქცია როდესაც იგი სტრიქონის ტიპის მონაცემზე გამოიყენება?
sobes.tech AI
პასუხი AI-სგან
გო ენაში, როდესაც ფუნქცია len გამოიყენება სტრიქონზე, ის აბრუნებს ამ სტრიქონის ბაიტების რაოდენობას, არა სიმბოლოების (rune-ების) რაოდენობას. ეს დაკავშირებულია იმასთან, რომ გოში სტრიქონები ინახება UTF-8 ფორმატში, სადაც ერთი სიმბოლო შეიძლება რამდენიმე ბაიტი იკავოს.
მაგალითი:
s := "Привет"
fmt.Println(len(s)) // გამოიტანს ბაიტების რაოდენობას, მაგალითად 12
თუ გსურთ სიმბოლოების (rune-ების) რაოდენობის მიღება, უნდა გარდაქმნათ სტრიქონი rune-ის სლაისად:
fmt.Println(len([]rune(s))) // გამოიტანს სიმბოლოების რაოდენობას, მაგალითად 6